11ee3cffaSDavid du Colombier#!/bin/rc 21ee3cffaSDavid du Colombier 31ee3cffaSDavid du Colombiertarg=multi 41ee3cffaSDavid du Colombier 51ee3cffaSDavid du Colombiern=0 61ee3cffaSDavid du Colombierdir=`{pwd} 71ee3cffaSDavid du Colombier 81ee3cffaSDavid du Colombierfn grab { 91ee3cffaSDavid du Colombier echo using $* 101ee3cffaSDavid du Colombier for(i){ 111ee3cffaSDavid du Colombier n=`{echo 1+$n|hoc} 121ee3cffaSDavid du Colombier mv $i $dir/a.$n.8 131ee3cffaSDavid du Colombier } 141ee3cffaSDavid du Colombier} 151ee3cffaSDavid du Colombier 161ee3cffaSDavid du Colombierfn getfiles { 171ee3cffaSDavid du Colombier sed -n 's/^(pcc|8\^l|8l) +(-o [^ ]* +)?([^\-].*)/ \3/p' | sed 's/ -[^ ]*//g' | 181ee3cffaSDavid du Colombier sed 's/ [^ ]*\.a//g' 191ee3cffaSDavid du Colombier} 201ee3cffaSDavid du Colombier 211ee3cffaSDavid du Colombierrm a.*.8 221ee3cffaSDavid du Colombier>multi.h 231ee3cffaSDavid du Colombier>multiproto.h 241ee3cffaSDavid du Colombier 251ee3cffaSDavid du Colombierfor(i){ 261ee3cffaSDavid du Colombierecho $i... 271ee3cffaSDavid du Colombier b=`{basename $i} 281ee3cffaSDavid du Colombier p=$b 291ee3cffaSDavid du Colombier if(~ $b [0-9]*) 301ee3cffaSDavid du Colombier p=_$b 311ee3cffaSDavid du Colombier echo void $p^_main'(int, char**);' >>$dir/multiproto.h 321ee3cffaSDavid du Colombier echo "$b", $p^_main, >>$dir/multi.h 331ee3cffaSDavid du Colombier d=`{basename -d $i} 341ee3cffaSDavid du Colombier if(~ $i disk/prep disk/fdisk){ 351ee3cffaSDavid du Colombier cd /sys/src/cmd/disk/prep 361ee3cffaSDavid du Colombier rm 8.$b 371ee3cffaSDavid du Colombier files=`{mk 8.$b | getfiles} 381ee3cffaSDavid du Colombier } 391ee3cffaSDavid du Colombier if not if(test -d /sys/src/cmd/$i && @{cd /sys/src/cmd/$i && mk 8.out}){ 401ee3cffaSDavid du Colombier cd /sys/src/cmd/$i 411ee3cffaSDavid du Colombier rm 8.out 421ee3cffaSDavid du Colombier files=`{mk 8.out | getfiles} 431ee3cffaSDavid du Colombier } 441ee3cffaSDavid du Colombier if not if(test -d /sys/src/cmd/$i && @{cd /sys/src/cmd/$i && mk 8.$b}){ 451ee3cffaSDavid du Colombier cd /sys/src/cmd/$i 46*2fd6e7caSDavid du Colombier rm 8.$b 471ee3cffaSDavid du Colombier files=`{mk 8.$b | getfiles} 481ee3cffaSDavid du Colombier } 491ee3cffaSDavid du Colombier if not if(test -d /sys/src/cmd/$d && @{cd /sys/src/cmd/$d && mk 8.$b}){ 501ee3cffaSDavid du Colombier cd /sys/src/cmd/$d 511ee3cffaSDavid du Colombier rm 8.$b 521ee3cffaSDavid du Colombier files=`{mk 8.$b | getfiles} 531ee3cffaSDavid du Colombier } 541ee3cffaSDavid du Colombier if not{ 551ee3cffaSDavid du Colombier echo do not know how to make $i 561ee3cffaSDavid du Colombier exit oops 571ee3cffaSDavid du Colombier } 581ee3cffaSDavid du Colombier aux/8prefix $p^_ $files 591ee3cffaSDavid du Colombier grab $files 601ee3cffaSDavid du Colombier switch(`{pwd}){ 611ee3cffaSDavid du Colombier case /sys/src/cmd /sys/src/cmd/aux /sys/src/cmd/ip 621ee3cffaSDavid du Colombier rm 8.$b 631ee3cffaSDavid du Colombier case * 641ee3cffaSDavid du Colombier mk clean 651ee3cffaSDavid du Colombier } 661ee3cffaSDavid du Colombier} 671ee3cffaSDavid du Colombiercd $dir 681ee3cffaSDavid du Colombier8c -FVw multi.c 691ee3cffaSDavid du Colombier8l -o 8.$targ multi.8 a.*.8 701ee3cffaSDavid du Colombier# rm a.*.8 71