mkmany 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. PROGS=${TARG:%=$O.%}
  2. LDFLAGS=
  3. YFLAGS=-d
  4. none:VQ:
  5. echo usage: mk all, install, installall, '$O'.cmd, cmd.install, or cmd.installall
  6. all:V: $PROGS
  7. $O.%: %.$O $OFILES $LIB
  8. $LD $LDFLAGS -o $target $prereq
  9. %.$O: $HFILES # don't combine with following %.$O rules
  10. %.$O: %.c
  11. $CC $CFLAGS $stem.c
  12. %.$O: %.s
  13. $AS $AFLAGS $stem.s
  14. y.tab.h y.tab.c: $YFILES
  15. $YACC $YFLAGS $prereq
  16. %.install:V: $BIN/%
  17. $BIN/%: $O.%
  18. cp $O.$stem $BIN/$stem
  19. %.installall:V:
  20. for (objtype in $CPUS)
  21. mk $stem.install
  22. install:V:
  23. for (i in $TARG)
  24. mk $MKFLAGS $i.install
  25. installall:V:
  26. for(objtype in $CPUS)
  27. mk $MKFLAGS install
  28. %.safeinstall:V:
  29. mk $O.$stem
  30. test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem
  31. mk $stem.install
  32. %.safeinstallall:V:
  33. for(objtype in $CPUS)
  34. mk $MKFLAGS $stem.safeinstall
  35. safeinstall:V:
  36. for(i in $TARG)
  37. mk $MKFLAGS $i.safeinstall
  38. safeinstallall:V:
  39. for (objtype in $CPUS)
  40. mk safeinstall
  41. update:V:
  42. update $UPDATEFLAGS $UPDATE
  43. nuke:V:
  44. rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* *.acid $TARG
  45. clean:V:
  46. rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* $TARG
  47. %.clean:V:
  48. rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem
  49. %.acid: %.$O $HFILES
  50. $CC $CFLAGS -a $stem.c >$target