aboutsummaryrefslogtreecommitdiff
path: root/src/mkmany
blob: 5b254dbf2bb63b7d0527a8d6f2eac4b42d248d0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
PROGS=${TARG:%=$O.%}

none:VQ:
	echo usage: mk all, install, installall, '$O'.cmd, cmd.install, or cmd.installall

all:V:	$PROGS

$O.%:	%.$O $OFILES $LIB
	$LD -o $target $prereq $LDFLAGS

%.$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

%.install:V:	$BIN/%

$BIN/%:	$O.%
	$INSTALL $O.$stem $BIN/$stem

%.installall:V:
	for (objtype in $CPUS)
		mk $stem.install

install:V:
	# for (i in $TARG)
	# 	mk $MKFLAGS $i.install
	for i in $TARG
	do
		mk $MKFLAGS $i.install
	done

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

nuke:V:
	rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* *.acid $TARG $NUKEFILES

clean:V:
	rm -f *.[$OS] y.tab.? 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