Subversion Repositories planix.SVN

Rev

Rev 24 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
</$objtype/mkfile
2
 
3
TARG=`{ls *.[cy] | sed '/\.tab\.c$/d;s/..$//'}
4
HFILES=/$objtype/include/u.h /sys/include/libc.h /sys/include/bio.h
5
BIN=/$objtype/bin
6
PROGS=${TARG:%=$O.%}
7
LDFLAGS=
8
YFLAGS=-d
9
 
10
NOTSYS=sml|dup|.+\..+
11
BUGGERED=unix
12
OUTOFDATE=old
13
 
14
NOMK=$NOTSYS|$BUGGERED|$OUTOFDATE
15
 
16
cpuobjtype=`{sed -n 's/^O=//p' /$cputype/mkfile}
17
DIRS=`{ls -l | sed '/^d/!d; s/.* //; /^('$NOMK')$/d'}
18
APEDIRS=awk bzip2 compress cvs eqn grap gs lp pic postscript spin \
19
	tex troff
20
 
21
none:VQ:
22
	echo usage: mk cmds, dirs, all, install, installall, '$O'.cmd, cmd.install, or cmd.installall
23
 
24
cmds:V:	$PROGS
25
 
26
ape:V: $APE
27
	for(i in $APEDIRS) @{
28
		cd $i
29
		echo mk $i
30
		mk $MKFLAGS all
31
	}
32
 
33
dirs:V:
34
	for(i in cc $DIRS) @{
35
		cd $i
36
		echo mk $i
37
		mk $MKFLAGS all
38
	}
39
 
40
all:V:	$PROGS dirs
41
 
42
^([$OS])\.(.*):R:	\2.\1
43
	$stem1^l $LDFLAGS -o $target $stem2.$stem1
44
 
45
.*\.[$OS]:R:	$HFILES
46
 
47
(.*)\.([$OS])'$':R:	\1.c
48
	$stem2^c $CFLAGS $stem1.c
49
 
50
&:n:	$O.&
51
	mv $O.$stem $stem
52
 
53
%.tab.h %.tab.c:	%.y
54
	$YACC $YFLAGS -s $stem $prereq
55
 
56
%.install:V: $BIN/%
57
 
58
$cpuobjtype._cp:	/bin/cp
59
	cp $prereq $target
60
 
61
%.safeinstall:	$O.% $cpuobjtype._cp
62
	test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem
63
	$cpuobjtype._cp $O.$stem $BIN/$stem
64
 
65
%.safeinstallall:
66
	for(objtype in $CPUS)
67
		mk $stem.safeinstall
68
	mk $stem.clean
69
 
70
$BIN/%:	$O.% $cpuobjtype._cp
71
	$cpuobjtype._cp $O.$stem $BIN/$stem
72
 
73
%.directories:V:
74
	for(i in $DIRS) @{
75
		cd $i
76
		echo mk $i
77
		mk $MKFLAGS $stem
78
	}
79
 
80
clean:V:	cleanfiles clean.directories
81
 
82
nuke:V:		cleanfiles nuke.directories
83
 
84
directories:V:	install.directories
85
 
86
cleanfiles:V:
87
	rm -f [$OS].out *.[$OS] y.tab.? y.debug y.output [$OS].$TARG [$OS].units.tab $TARG bc.c bc.tab.h units.tab.h units.c [$OS]._cp
88
 
89
%.clean:V:
90
	rm -f [$OS].$stem $stem.[$OS]
91
 
92
install:V:
93
	test -e $cpuobjtype._cp || cp /bin/cp $cpuobjtype._cp
94
	mk $MKFLAGS $TARG.install
95
	mk $MKFLAGS directories
96
 
97
installall:V:
98
	for(objtype in $CPUS)
99
		mk $MKFLAGS install
100
 
101
%.installall:	%.c
102
	test -e $cpuobjtype._cp || cp /bin/cp $cpuobjtype._cp
103
	for (objtype in $CPUS) {
104
		rfork e
105
		mk $stem.install &
106
	}
107
	wait
108
	rm -f $stem.[$OS] y.tab.? $stem.tab.? y.debug y.output [$OS].$stem bc.c bc.tab.h units.c
109
 
110
%.acid: %.$O $HFILES
111
	$CC $CFLAGS -a $stem.c >$target
112
 
24 7u83 113
(bc|mpc|units).c:R:	\1.tab.c
2 - 114
	mv $stem1.tab.c $stem1.c
115
 
116
$BIN/init:	$O.init
117
	cp $prereq /$objtype/init
118
 
119
$O.cj:	cj.$O
120
	$LD $LDFLAGS -o $O.cj cj.$O /$objtype/lib/libjpg.a
121
 
122
%.update:V:
123
	update $stem.c /386/bin/$stem
124
 
125
compilers:V:
126
	for(i in ?c)
127
		if(! ~ $i cc rc) @{
128
			cd $i
129
			mk clean
130
			objtype=$cputype mk install
131
			mk clean
132
		}
133
	for(i in ?c)
134
		if(! ~ $i cc rc) @{
135
			cd $i
136
			mk clean
137
			mk installall
138
			mk clean
139
		}