82 lines
1.4 KiB
Plaintext
82 lines
1.4 KiB
Plaintext
|
PROGS=${TARG:%=$O.%}
|
||
|
MANFILES=${TARG:%=%.man}
|
||
|
LDFLAGS=
|
||
|
YFLAGS=-d
|
||
|
|
||
|
none:VQ:
|
||
|
echo usage: mk all, install, installall, '$O'.cmd, cmd.install, or cmd.installall
|
||
|
|
||
|
all:V: $PROGS
|
||
|
|
||
|
$O.%: %.$O $OFILES $LIB
|
||
|
$LD $LDFLAGS -o $target $prereq
|
||
|
|
||
|
%.$O: $HFILES # don't combine with following %.$O rules
|
||
|
|
||
|
%.$O: %.c
|
||
|
$CC $CFLAGS $stem.c
|
||
|
|
||
|
%.$O: %.s
|
||
|
$AS $AFLAGS $stem.s
|
||
|
|
||
|
y.tab.h y.tab.c: $YFILES
|
||
|
$YACC $YFLAGS $prereq
|
||
|
|
||
|
lex.yy.c: $LFILES
|
||
|
$LEX $LFLAGS $prereq
|
||
|
|
||
|
%.install:V: $BIN/%
|
||
|
|
||
|
$BIN/%: $O.%
|
||
|
cp $O.$stem $BIN/$stem
|
||
|
|
||
|
%.installall:V:
|
||
|
for (objtype in $CPUS)
|
||
|
mk $stem.install
|
||
|
|
||
|
install:V:
|
||
|
for (i in $TARG)
|
||
|
mk $MKFLAGS $i.install
|
||
|
|
||
|
installall:V:
|
||
|
for(objtype in $CPUS)
|
||
|
mk $MKFLAGS install
|
||
|
|
||
|
%.safeinstall:V:
|
||
|
mk $O.$stem
|
||
|
test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem
|
||
|
mk $stem.install
|
||
|
|
||
|
%.safeinstallall:V:
|
||
|
for(objtype in $CPUS)
|
||
|
mk $MKFLAGS $stem.safeinstall
|
||
|
|
||
|
safeinstall:V:
|
||
|
for(i in $TARG)
|
||
|
mk $MKFLAGS $i.safeinstall
|
||
|
|
||
|
safeinstallall:V:
|
||
|
for (objtype in $CPUS)
|
||
|
mk safeinstall
|
||
|
|
||
|
update:V:
|
||
|
update $UPDATEFLAGS $UPDATE
|
||
|
|
||
|
# [$OS].??* avoids file names like 9.h
|
||
|
nuke:V:
|
||
|
rm -f *.[$OS] y.tab.? lex.yy.c y.debug y.output [$OS].??* *.acid $TARG
|
||
|
|
||
|
clean:V:
|
||
|
rm -f *.[$OS] *.a[$OS] y.tab.? lex.yy.c y.debug y.output [$OS].??* $TARG $CLEANFILES
|
||
|
|
||
|
%.clean:V:
|
||
|
rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem
|
||
|
|
||
|
%.acid: %.$O $HFILES
|
||
|
$CC $CFLAGS -a $stem.c >$target
|
||
|
|
||
|
%.man: $MAN/$stem
|
||
|
cp $stem.man $MAN/$stem
|
||
|
|
||
|
man:V: $MANFILES
|