diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/mkfile |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/mkfile')
-rwxr-xr-x | sys/src/cmd/mkfile | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/sys/src/cmd/mkfile b/sys/src/cmd/mkfile new file mode 100755 index 000000000..8016d1297 --- /dev/null +++ b/sys/src/cmd/mkfile @@ -0,0 +1,139 @@ +</$objtype/mkfile + +TARG=`{ls *.[cy] | sed '/\.tab\.c$/d;s/..$//'} +HFILES=/$objtype/include/u.h /sys/include/libc.h /sys/include/bio.h +BIN=/$objtype/bin +PROGS=${TARG:%=$O.%} +LDFLAGS= +YFLAGS=-d + +NOTSYS=sml|dup|.+\..+ +BUGGERED=unix|postscript +OUTOFDATE=old + +NOMK=$NOTSYS|$BUGGERED|$OUTOFDATE + +cpuobjtype=`{sed -n 's/^O=//p' /$cputype/mkfile} +DIRS=`{ls -l | sed '/^d/!d; s/.* //; /^('$NOMK')$/d'} +APEDIRS=awk bzip2 compress cvs eqn grap gs links-ape lp pic postscript spin \ + tex troff + +none:VQ: + echo usage: mk cmds, dirs, all, install, installall, '$O'.cmd, cmd.install, or cmd.installall + +cmds:V: $PROGS + +ape:V: $APE + for(i in $APEDIRS) @{ + cd $i + echo mk $i + mk $MKFLAGS all + } + +dirs:V: + for(i in cc $DIRS) @{ + cd $i + echo mk $i + mk $MKFLAGS all + } + +all:V: $PROGS dirs + +^([$OS])\.(.*):R: \2.\1 + $stem1^l $LDFLAGS -o $target $stem2.$stem1 + +.*\.[$OS]:R: $HFILES + +(.*)\.([$OS])'$':R: \1.c + $stem2^c $CFLAGS $stem1.c + +&:n: $O.& + mv $O.$stem $stem + +%.tab.h %.tab.c: %.y + $YACC $YFLAGS -s $stem $prereq + +%.install:V: $BIN/% + +$cpuobjtype._cp: /bin/cp + cp $prereq $target + +%.safeinstall: $O.% $cpuobjtype._cp + test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem + $cpuobjtype._cp $O.$stem $BIN/$stem + +%.safeinstallall: + for(objtype in $CPUS) + mk $stem.safeinstall + mk $stem.clean + +$BIN/%: $O.% $cpuobjtype._cp + $cpuobjtype._cp $O.$stem $BIN/$stem + +%.directories:V: + for(i in $DIRS) @{ + cd $i + echo mk $i + mk $MKFLAGS $stem + } + +clean:V: cleanfiles clean.directories + +nuke:V: cleanfiles nuke.directories + +directories:V: install.directories + +cleanfiles:V: + 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 + +%.clean:V: + rm -f [$OS].$stem $stem.[$OS] + +install:V: + test -e $cpuobjtype._cp || cp /bin/cp $cpuobjtype._cp + mk $MKFLAGS $TARG.install + mk $MKFLAGS directories + +installall:V: + for(objtype in $CPUS) + mk $MKFLAGS install + +%.installall: %.c + test -e $cpuobjtype._cp || cp /bin/cp $cpuobjtype._cp + for (objtype in $CPUS) { + rfork e + mk $stem.install & + } + wait + rm -f $stem.[$OS] y.tab.? $stem.tab.? y.debug y.output [$OS].$stem bc.c bc.tab.h units.c + +%.acid: %.$O $HFILES + $CC $CFLAGS -a $stem.c >$target + +(bc|units).c:R: \1.tab.c + mv $stem1.tab.c $stem1.c + +$BIN/init: $O.init + cp $prereq /$objtype/init + +$O.cj: cj.$O + $LD $LDFLAGS -o $O.cj cj.$O /$objtype/lib/libjpg.a + +%.update:V: + update $stem.c /386/bin/$stem + +compilers:V: + for(i in ?c) + if(! ~ $i cc rc) @{ + cd $i + mk clean + objtype=$cputype mk install + mk clean + } + for(i in ?c) + if(! ~ $i cc rc) @{ + cd $i + mk clean + mk installall + mk clean + } |