xref: /plan9/sys/src/cmd/mkmany (revision b8b257802f7f811fbf50141a6401409bebd29327)
1PROGS=${TARG:%=$O.%}
2MANFILES=${TARG:%=%.man}
3LDFLAGS=
4YFLAGS=-d
5
6none:VQ:
7	echo usage: mk all, install, installall, '$O'.cmd, cmd.install, or cmd.installall
8
9all:V:	$PROGS
10
11$O.%:	%.$O $OFILES $LIB
12	$LD $LDFLAGS -o $target $prereq
13
14%.$O:	$HFILES		# don't combine with following %.$O rules
15
16%.$O:	%.c
17	$CC $CFLAGS $stem.c
18
19%.$O:	%.s
20	$AS $AFLAGS $stem.s
21
22y.tab.h y.tab.c:	$YFILES
23	$YACC $YFLAGS $prereq
24
25lex.yy.c:	$LFILES
26	$LEX $LFLAGS $prereq
27
28%.install:V:	$BIN/%
29
30$BIN/%:	$O.%
31	cp $O.$stem $BIN/$stem
32
33%.installall:V:
34	for (objtype in $CPUS)
35		mk $stem.install
36
37install:V:
38	for (i in $TARG)
39		mk $MKFLAGS $i.install
40
41installall:V:
42	for(objtype in $CPUS)
43		mk $MKFLAGS install
44
45%.safeinstall:V:
46	mk $O.$stem
47	test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem
48	mk $stem.install
49
50%.safeinstallall:V:
51	for(objtype in $CPUS)
52		mk $MKFLAGS $stem.safeinstall
53
54safeinstall:V:
55	for(i in $TARG)
56		mk $MKFLAGS $i.safeinstall
57
58safeinstallall:V:
59	for (objtype in $CPUS)
60		mk safeinstall
61
62update:V:
63	update $UPDATEFLAGS $UPDATE
64
65# [$OS].??* avoids file names like 9.h
66nuke:V:
67	rm -f *.[$OS] y.tab.? lex.yy.c y.debug y.output [$OS].??* *.acid $TARG
68
69clean:V:
70	rm -f *.[$OS] *.a[$OS] y.tab.? lex.yy.c y.debug y.output [$OS].??* $TARG $CLEANFILES
71
72%.clean:V:
73	rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem
74
75%.acid: %.$O $HFILES
76	$CC $CFLAGS -a $stem.c >$target
77
78%.man:	$MAN/$stem
79	cp $stem.man $MAN/$stem
80
81man:V:	$MANFILES
82