xref: /plan9/sys/src/cmd/mkmany (revision b8b257802f7f811fbf50141a6401409bebd29327)
13e12c5d1SDavid du ColombierPROGS=${TARG:%=$O.%}
28847fb04SDavid du ColombierMANFILES=${TARG:%=%.man}
33e12c5d1SDavid du ColombierLDFLAGS=
43e12c5d1SDavid du ColombierYFLAGS=-d
53e12c5d1SDavid du Colombier
63e12c5d1SDavid du Colombiernone:VQ:
73e12c5d1SDavid du Colombier	echo usage: mk all, install, installall, '$O'.cmd, cmd.install, or cmd.installall
83e12c5d1SDavid du Colombier
93e12c5d1SDavid du Colombierall:V:	$PROGS
103e12c5d1SDavid du Colombier
113e12c5d1SDavid du Colombier$O.%:	%.$O $OFILES $LIB
123e12c5d1SDavid du Colombier	$LD $LDFLAGS -o $target $prereq
133e12c5d1SDavid du Colombier
143e12c5d1SDavid du Colombier%.$O:	$HFILES		# don't combine with following %.$O rules
153e12c5d1SDavid du Colombier
163e12c5d1SDavid du Colombier%.$O:	%.c
173e12c5d1SDavid du Colombier	$CC $CFLAGS $stem.c
183e12c5d1SDavid du Colombier
193e12c5d1SDavid du Colombier%.$O:	%.s
203e12c5d1SDavid du Colombier	$AS $AFLAGS $stem.s
213e12c5d1SDavid du Colombier
223e12c5d1SDavid du Colombiery.tab.h y.tab.c:	$YFILES
233e12c5d1SDavid du Colombier	$YACC $YFLAGS $prereq
243e12c5d1SDavid du Colombier
257386956aSDavid du Colombierlex.yy.c:	$LFILES
267386956aSDavid du Colombier	$LEX $LFLAGS $prereq
277386956aSDavid du Colombier
283e12c5d1SDavid du Colombier%.install:V:	$BIN/%
293e12c5d1SDavid du Colombier
303e12c5d1SDavid du Colombier$BIN/%:	$O.%
313e12c5d1SDavid du Colombier	cp $O.$stem $BIN/$stem
323e12c5d1SDavid du Colombier
333e12c5d1SDavid du Colombier%.installall:V:
343e12c5d1SDavid du Colombier	for (objtype in $CPUS)
353e12c5d1SDavid du Colombier		mk $stem.install
363e12c5d1SDavid du Colombier
373e12c5d1SDavid du Colombierinstall:V:
383e12c5d1SDavid du Colombier	for (i in $TARG)
393e12c5d1SDavid du Colombier		mk $MKFLAGS $i.install
403e12c5d1SDavid du Colombier
413e12c5d1SDavid du Colombierinstallall:V:
423e12c5d1SDavid du Colombier	for(objtype in $CPUS)
433e12c5d1SDavid du Colombier		mk $MKFLAGS install
443e12c5d1SDavid du Colombier
457dd7cddfSDavid du Colombier%.safeinstall:V:
465d459b5aSDavid du Colombier	mk $O.$stem
477dd7cddfSDavid du Colombier	test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem
487dd7cddfSDavid du Colombier	mk $stem.install
497dd7cddfSDavid du Colombier
507dd7cddfSDavid du Colombier%.safeinstallall:V:
517dd7cddfSDavid du Colombier	for(objtype in $CPUS)
527dd7cddfSDavid du Colombier		mk $MKFLAGS $stem.safeinstall
537dd7cddfSDavid du Colombier
547dd7cddfSDavid du Colombiersafeinstall:V:
557dd7cddfSDavid du Colombier	for(i in $TARG)
567dd7cddfSDavid du Colombier		mk $MKFLAGS $i.safeinstall
577dd7cddfSDavid du Colombier
587dd7cddfSDavid du Colombiersafeinstallall:V:
597dd7cddfSDavid du Colombier	for (objtype in $CPUS)
607dd7cddfSDavid du Colombier		mk safeinstall
617dd7cddfSDavid du Colombier
625d459b5aSDavid du Colombierupdate:V:
635d459b5aSDavid du Colombier	update $UPDATEFLAGS $UPDATE
645d459b5aSDavid du Colombier
65*b8b25780SDavid du Colombier# [$OS].??* avoids file names like 9.h
663e12c5d1SDavid du Colombiernuke:V:
67*b8b25780SDavid du Colombier	rm -f *.[$OS] y.tab.? lex.yy.c y.debug y.output [$OS].??* *.acid $TARG
683e12c5d1SDavid du Colombier
693e12c5d1SDavid du Colombierclean:V:
70*b8b25780SDavid du Colombier	rm -f *.[$OS] *.a[$OS] y.tab.? lex.yy.c y.debug y.output [$OS].??* $TARG $CLEANFILES
717dd7cddfSDavid du Colombier
727dd7cddfSDavid du Colombier%.clean:V:
737dd7cddfSDavid du Colombier	rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem
747dd7cddfSDavid du Colombier
757dd7cddfSDavid du Colombier%.acid: %.$O $HFILES
767dd7cddfSDavid du Colombier	$CC $CFLAGS -a $stem.c >$target
778847fb04SDavid du Colombier
788847fb04SDavid du Colombier%.man:	$MAN/$stem
798847fb04SDavid du Colombier	cp $stem.man $MAN/$stem
808847fb04SDavid du Colombier
818847fb04SDavid du Colombierman:V:	$MANFILES
82