|
|
1.1 ! root 1: SYS=research ! 2: < $SYS.mk ! 3: CFLAGS="$CFLAGS -A" ! 4: JL=juke.a ! 5: X=shelves jinit cold warm load allocate # getstatus iodr_sh lib ! 6: JLIB=${X:%=$JL(%.o)} ! 7: JSRC=${X:%=%.c} ! 8: ! 9: SL=scsi.a ! 10: X=s_$IO ge_sense s_volid s_pperror s_fixedstr s_longat s_xd ! 11: SLIB=${X:%=$SL(%.o)} ! 12: ! 13: SHL=scsish.a ! 14: GENERIC=ge_dev ge_inq ge_capacity ge_display ge_stop ge_start\ ! 15: ge_reset ge_tur ge_scsi ge_readt ge_read # ge_sense in $SL ! 16: SONY=so_dev so_inq so_alt so_config so_sense \ ! 17: so_i0.tab so_i1.tab so_scsi.tab so_nesd.tab \ ! 18: so_status so_set so_shelfside so_diskid so_copy so_eject \ ! 19: so_media so_rel so_internal so_readid so_juke ! 20: WREN=wr_dev wr_inq wr_driver wr_elite wr_mpage wr_wren5 #wr_rmode wr_wmode wr_diag ! 21: X=$GENERIC $SONY $WREN ! 22: SHLIB=${X:%=$SHL(%.o)} ! 23: ! 24: TL=tcl.a ! 25: X=tclAssem tclBasic tclCmdAH tclCmdIZ tclExpr tclGlob tclHistory\ ! 26: tclProc tclUtil ! 27: TLIB=${X:%=$TL(%.o)} ! 28: ! 29: all:V: scsish jukebox ! 30: ! 31: both:V: ../jukebox ../scsish ! 32: ! 33: ../%: % ! 34: cp $prereq $target ! 35: ! 36: jukebox: jukebox.o $JL $SHL $SL ! 37: $CC $CFLAGS -o $target $prereq $LDFLAGS ! 38: ! 39: scsish: scsish.o $SHL $SL $TL ! 40: $CC $CFLAGS -o $target $prereq $LDFLAGS ! 41: ! 42: jpp:V: ! 43: pr mkfile juke.h scsi.h jukebox.c $JSRC | lp -ddp -n2 ! 44: ! 45: poot:V: scsish ! 46: echo 'id 5; dev wren ! 47: modesense; modeselect gc maxpref 23' | scsish ! 48: #echo capacity 0 | scsish ! 49: ! 50: poot1:V: scsish ! 51: echo 'read 0 2644042 10 temp' | scsish ! 52: ls -l temp ! 53: ! 54: scsi.cpio:V: inc/scsi.h ! 55: find * -print | sed -e '/\.[oa]$/d' -e '/\.cpio$/d' | cpio -oc > $target ! 56: inc/scsi.h:Pcmp -s: /usr/include/scsi.h ! 57: cp $prereq $target ! 58: ! 59: ! 60: # below is just magic; believe it. ! 61: ! 62: $JL(%.o):N: %.o ! 63: $JL:Q: $JLIB ! 64: names=`membername $newprereq` ! 65: ar rv $JL $names && rm $names ! 66: $RANLIB $JL ! 67: ! 68: $SL(%.o):N: %.o ! 69: $SL:Q: $SLIB ! 70: names=`membername $newprereq` ! 71: ar rv $SL $names && rm $names ! 72: $RANLIB $SL ! 73: ! 74: $SHL(%.o):N: %.o ! 75: $SHL:Q: $SHLIB ! 76: names=`membername $newprereq` ! 77: ar rv $SHL $names && rm $names ! 78: $RANLIB $SHL ! 79: ! 80: $TL(%.o):N: %.o ! 81: $TL:Q: $TLIB ! 82: names=`membername $newprereq` ! 83: ar rv $TL $names && rm $names ! 84: $RANLIB $TL ! 85: ! 86: s_%.o: scsi/%.c ! 87: cd scsi; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target ! 88: so_%.o: sony/%.c ! 89: cd sony; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target ! 90: so_%.o: sony/fns.h ! 91: ge_%.o: generic/%.c ! 92: cd generic; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target ! 93: ge_%.o: generic/fns.h ! 94: wr_%.o: wren/%.c ! 95: cd wren; $CC $CFLAGS -c $stem.c && mv $stem.o ../$target ! 96: wr_%.o: wren/fns.h ! 97: so_%.o wr_%.o ge_%.o: scsish.h scsi.h ! 98: s_%.o: scsi.h ! 99: tcl%.o: tcl/tcl%.c ! 100: cd tcl; $CC $CFLAGS -c -I. -DTCL_VERSION=\"3.3\" -I.. tcl$stem.c && mv tcl$stem.o ../$target ! 101: tcl%.o: tcl.h ! 102: ! 103: so_%.tab.o:Q: sony/%.tab ! 104: cd sony ! 105: echo generating $target ! 106: p=$stem.tab ! 107: awk -F' ' ' ! 108: 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; ! 109: h["8"]=8;h["9"]=9;h["a"]=10;h["b"]=11;h["c"]=12;h["d"]=13;h["e"]=14;h["f"]=15; ! 110: } ! 111: function done( i){ ! 112: for(i = 0; i < 256; i++) if(x[i]){ ! 113: print "\t\"" x[i] "\"," ! 114: x[i] = "" ! 115: } else printf "\t\"<#%x>\",\n", i ! 116: print "};" ! 117: } ! 118: function hex(n, i){ ! 119: return(h[substr(n, 1, 1)]*16+h[substr(n, 2, 1)]); ! 120: } ! 121: NF == 1 { if(NR > 1) done(); print "char *" $1 "[] = {" } ! 122: NF > 1 { x[hex($1)] = $2; } ! 123: END { done(); }' < $p > $p.c && $CC $CFLAGS -c $p.c && mv $p.o ../$target ! 124: rm $p.c
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.