|
|
1.1 ! root 1: NAMES=y.tab lex inquiry init status disk sense start read diag capacity helptab\ ! 2: media odump reset worm write copy search config testunit internal\ ! 3: i0.tab i1.tab scsi.tab alternate readid diskid ! 4: L=lib.a ! 5: OBJ=`echo $NAMES|sed -e 's/[^ ][^ ]*/$L(&.o)/g'` ! 6: CLIB=`echo $NAMES|sed -e 's/[^ ][^ ]*/O\/&.O/g'` ! 7: CFLAGS=-g ! 8: NPROC=2 ! 9: ALL=wmount scsish ! 10: W=/usr/lib/worm ! 11: INS=$W/wmount $W/scsish ! 12: ! 13: install:V: $INS ! 14: ! 15: ship: $INS ! 16: ship $newprereq && touch ship ! 17: ! 18: $W/(wmount|scsish):R: \\1 ! 19: cp $prereq $target && strip -g $target && chmod 775 $target ! 20: ! 21: wmount: wmount.o $L ! 22: $CC $CFLAGS -o $target $prereq ! 23: ! 24: scsish: scsish.o $L ! 25: $CC $CFLAGS -o $target $prereq ! 26: ! 27: clean:V: ! 28: rm -f O/* $ALL *.o ! 29: ! 30: %.tab.c:Q: %.tab ! 31: echo generating $target ! 32: p=$stem.tab ! 33: awk -F' ' ' ! 34: BEGIN { h["0"]=0;h["1"]=1;h["2"]=2;h["3"]=3;h["4"]=4;h["5"]=5;h["6"]=6;h["7"]=7; ! 35: h["8"]=8;h["9"]=9;h["a"]=10;h["b"]=11;h["c"]=12;h["d"]=13;h["e"]=14;h["f"]=15; ! 36: } ! 37: function done( i){ ! 38: for(i = 0; i < 256; i++) if(x[i]){ ! 39: print "\t\"" x[i] "\"," ! 40: x[i] = "" ! 41: } else printf "\t\"<#%x>\",\n", i ! 42: print "};" ! 43: } ! 44: function hex(n, i){ ! 45: return(h[substr(n, 1, 1)]*16+h[substr(n, 2, 1)]); ! 46: } ! 47: NF == 1 { if(NR > 1) done(); print "char *" $1 "[] = {" } ! 48: NF > 1 { x[hex($1)] = $2; } ! 49: END { done(); }' < $p > $p.c ! 50: ! 51: %.o O/%.O: scsi.h ! 52: ! 53: cyntax:V: O/wmount O/scsish ! 54: ! 55: O/wmount: O/wmount.O $CLIB ! 56: cyntax $prereq && touch $target ! 57: ! 58: O/scsish: O/scsish.O $CLIB ! 59: cyntax $prereq && touch $target ! 60: ! 61: pp: ! 62: smalllp [a-w]*.h [a-w]*.[cy] ! 63: ! 64: y.tab.c y.tab.h: gram.y ! 65: yacc -d -D gram.y ! 66: ed - y.tab.c <<! ! 67: ,s/printf/print/ ! 68: w ! 69: q ! 70: ! ! 71: ! 72: x.tab.h:Q: y.tab.h ! 73: cmp -s x.tab.h y.tab.h || cp y.tab.h x.tab.h ! 74: ! 75: y.tab.o lex.o: x.tab.h ! 76: ! 77: lex.o: lex.l ! 78: lex -t lex.l > lex.c ! 79: ed - lex.c <<! ! 80: ,s/fprintf(yyout/fprint(2/ ! 81: w ! 82: q ! 83: ! ! 84: $CC $CFLAGS -c lex.c && rm lex.c ! 85: ! 86: helptab.c:QD: gram.y ! 87: ( echo 'char *helpstrs[] = {' ! 88: sed -n -e '1,/^line/d ! 89: /^drive/,$d ! 90: /::/s/::.*/",/ ! 91: /:/s/.*:/ "/p ! 92: /|/s/ *{.*/",/ ! 93: /|/s/.*| */ "/p' < gram.y ! 94: echo ' 0' ! 95: echo '};' ! 96: ) > $target ! 97: ! 98: $L(%.o):N: %.o ! 99: $L:Q: $OBJ ! 100: names=`membername $newprereq` ! 101: ar rv $L $names && rm $names ! 102: ranlib $L ! 103: ! 104: O/%.O: %.c ! 105: cyntax -c $CFLAGS $stem.c && mv $stem.O O ! 106: ! 107: O/y.tab.O: y.tab.c ! 108: cyntax -c -Vyyerror:1 y.tab.c && mv y.tab.O O ! 109: ! 110: O/lex.O: lex.l ! 111: > /tmp/lex.c ! 112: cyntax -c /tmp/lex.c && mv /tmp/lex.O O ! 113: ! 114: spit: scsish ! 115: push spit $newprereq . && touch $target ! 116: ! 117: scsi.out: scsi.ms ! 118: tbl scsi.ms | troff -Tpost > $target ! 119: ! 120: scsi.lp: scsi.out ! 121: lp -dpsu $prereq ! 122: ! 123: scsi.man:V: ! 124: troff -Tpost -man /usr/man/man1/worm.1 /usr/man/man?/scsi*.? | lp -dpsu
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.