mkfile (1394B)
1 MKSHELL=$PLAN9/bin/rc 2 new-%:V: 3 t=$stem 4 if(! ~ $t utf fmt bio regexp mk){ 5 echo bad target 6 exit oops 7 } 8 if(! ~ $t mk) 9 t=lib$t 10 mkdir -p $t 11 rm -f $t/* 12 cd $t 13 mk -f ../mkfile.$stem 14 cd .. 15 16 test-%:V: 17 t=$stem 18 path=($PLAN9/bin $path) 19 mk new-$t 20 switch($t){ 21 case bio; d=libbio; td=libbio 22 case regexp; d=libregexp; td=libregexp 23 case fmt; d=lib9/fmt; td=libfmt 24 case utf; d=lib9/utf; td=libutf 25 case mk; d=cmd/mk; td=mk 26 } 27 cd $td 28 d=$PLAN9/src/$d 29 for(i in `{ls -p $d/*.c}) 30 if(! test -f $i) 31 echo XXX missing $i 32 make 33 for(i in `{ls *.c}) 34 if(! test -f `{echo $i | sed 's/.c$/.o/'}) 35 echo XXX not building $i 36 cd .. 37 38 test:V: test-utf test-fmt test-bio test-regexp test-mk 39 mk test-clean 40 41 test-clean:V: 42 rm -rf libutf libfmt libbio libregexp mk 43 44 lib%.tgz:V: 45 mk new-$stem 46 tar cf /dev/stdout lib$stem | gzip > $target 47 48 libregexp9.tgz:V: 49 mk new-regexp 50 tar cf /dev/stdout libregexp | gzip >$target 51 52 mk.tgz:V: 53 mk new-mk 54 tar cf /dev/stdout mk | gzip > $target 55 56 mk-with-libs.tgz:V: 57 mk new-utf 58 mk new-fmt 59 mk new-bio 60 mk new-regexp 61 mk new-mk 62 rm -rf zot 63 mkdir zot 64 mv libutf libfmt libbio libregexp mk zot 65 mv zot mk 66 cp make/Makefile.all mk/Makefile 67 tar cf /dev/stdout mk | gzip > $target 68 rm -r mk 69 70 tgz:V: libutf.tgz libfmt.tgz libregexp9.tgz libbio.tgz mk.tgz mk-with-libs.tgz 71 72 # run from 'mk push' in ../dist, which sets 9fansweb 73 push:V: 74 cp *.tgz $9fansweb/plan9port/unix