1</$objtype/mkfile 2 3TARG=`{ls *.[cy] | sed '/\.tab\.c$/d;s/..$//'} 4HFILES=/$objtype/include/u.h /sys/include/libc.h /sys/include/bio.h 5BIN=/$objtype/bin 6PROGS=${TARG:%=$O.%} 7LDFLAGS= 8YFLAGS=-d 9 10NOTSYS=sml|dup|.+\..+ 11BUGGERED=unix 12OUTOFDATE=old 13 14NOMK=$NOTSYS|$BUGGERED|$OUTOFDATE 15 16cpuobjtype=`{sed -n 's/^O=//p' /$cputype/mkfile} 17DIRS=`{ls -l | sed '/^d/!d; s/.* //; /^('$NOMK')$/d'} 18APEDIRS=awk bzip2 compress cvs eqn grap gs lp pic postscript spin \ 19 tex troff 20 21none:VQ: 22 echo usage: mk cmds, dirs, all, install, installall, '$O'.cmd, cmd.install, or cmd.installall 23 24cmds:V: $PROGS 25 26ape:V: $APE 27 for(i in $APEDIRS) @{ 28 cd $i 29 echo mk $i 30 mk $MKFLAGS all 31 } 32 33dirs:V: 34 for(i in cc $DIRS) @{ 35 cd $i 36 echo mk $i 37 mk $MKFLAGS all 38 } 39 40all: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 80clean:V: cleanfiles clean.directories 81 82nuke:V: cleanfiles nuke.directories 83 84directories:V: install.directories 85 86cleanfiles: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 92install:V: 93 test -e $cpuobjtype._cp || cp /bin/cp $cpuobjtype._cp 94 mk $MKFLAGS $TARG.install 95 mk $MKFLAGS directories 96 97installall: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 113(bc|units).c:R: \1.tab.c 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 125compilers: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 } 140