From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <3BC5BA3F.B7BC29D3@strakt.com> From: Boyd Roberts MIME-Version: 1.0 To: 9fans@cse.psu.edu Subject: Re: [9fans] correcting old failures, and NJ vs MA References: <20011010130436.D697919A3E@mail.cse.psu.edu> <87sncr7y7g.fsf@becket.becket.net> <006501c15261$226a9440$8e8b0241@sumt1.nj.home.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Thu, 11 Oct 2001 17:26:55 +0200 Topicbox-Message-UUID: 06a3c766-eaca-11e9-9e20-41e7f4b1d025 david presotto wrote: > I'm happy just composing du -a, grep, sed, and `{}. #!/bin/rc dot=`{pwd} incs=-I^($dot/Plan9 $dot/Include) cpp=(pcc -I/sys/include $incs -E) line='^#line [0-9]+ "' mkfile=mkfile mkdeps=mkdeps except=$dot/Plan9/except # refuse to deal with unecessary/replaced files/directories fn except { echo $1 | grep -s -f $except && echo $1: ignored >[1=2] } # generate a prototype mkfile fn mkproto { echo '[1=2] rm -f $mkdeps all=`{ls *.c >[2] /dev/null} for (c in $all) { if (! except $d/$c) { o=`{basename $c .c}^'.$O' ofiles=($ofiles $o) } } if (! ~ $ofiles '') { echo 'OFILES= '$"ofiles | mkindent ofiles=() } >> $mkdeps for (c in $all) { if (! except $d/$c) { echo $c >[1=2] o=`{basename $c .c}^'.$O' hfiles=() for (h in `{$cpp $c | sed -n -e 's;'$line'(.*\.h)"$;\1;p' | sort -u}) { switch ($h) { case $d/* hfiles=($hfiles `{basename $h}) case $dot/* hfiles=($hfiles $h) } } if (! ~ $hfiles '') { { echo echo $o': '$"hfiles | mkindent } >> $mkdeps hfiles=() } } } if (test -f $mkdeps) { if (! test -f $mkfile) { mkproto > $mkfile } } } }