|
|
1.1 ! root 1: NPROC=3 ! 2: HWLIB=/n/coma/usr/tom/hw/lib ! 3: PINLIB=$HWLIB/*.pins /n/coma/usr/ucds/lib/lib/pins ! 4: PKGLIB=$HWLIB/*.pkg ! 5: ! 6: ENVIRON="$ENVIRON ! 7: upper(){ ! 8: echo \$* | tr a-z A-Z ! 9: } ! 10: paltype(){ ! 11: sed -n '/^\.t[ ]/{ ! 12: s/.*PAL//p ! 13: q ! 14: }' \$1 ! 15: }" ! 16: ! 17: WFILES=${JFILES:%.j=%.w} ! 18: GFILES=${JFILES:%.j=%.g} ! 19: AFILES=${JFILES:%.j=%.a} ! 20: FILES=${JFILES:%.j=%} ! 21: PALP=${PAL:%.e=%.p} ! 22: MIN=${PAL:%.e=%.min} ! 23: ! 24: WHAT='again|annotate|check|clip|commit|draw|fix|list|net|pins|place|schematics|smoke|wr|wrap' ! 25: ! 26: ^($WHAT)\$:RN: $NAME.\\1 ! 27: ! 28: %.p: %.e ! 29: lde -W $stem.e >$stem.p ! 30: ! 31: %.min: %.e %.p ! 32: lde -a $stem.e | quine | cover | hazard >$stem.ng ! 33: pal -d `paltype $stem.p` $stem.ng >/dev/null ! 34: mv $stem.ng $stem.min ! 35: ! 36: '^([^.]+)\.drom\.([^.]+)$':R: \\1.min \\1.p ! 37: man=`upper $stem2` ! 38: type=`paltype $stem1.p` ! 39: pal -d $type $stem1.min | tee to | drom -w -t$man$type ! 40: sleep 5 ! 41: drom -t$man$type >from ! 42: cmp to from ! 43: ! 44: %.w: %.j ! 45: jraw -w -k $stem.j | sed 's/\$N00/$'$stem'/' >$stem.w ! 46: ! 47: %.w: %.g ! 48: jraw -w $stem.g | sed 's/\$N00/$'$stem'/' >$stem.w ! 49: ! 50: %.a: %.j %.w $NAME.wx ! 51: annotate $NAME.wx $stem.w ! 52: cat $stem.j >>$stem.a ! 53: ! 54: %.A:V: %.g %.w $NAME.wx ! 55: Annotate $NAME.wx $stem.w ! 56: cat $stem.g >>$stem.a ! 57: ! 58: %.annotate: $WFILES $NAME.wx ! 59: Annotate $NAME.wx $WFILES ! 60: for i in $FILES ! 61: do ! 62: cat $i.g >>$i.a ! 63: done ! 64: ! 65: %.schematics: %.annotate ! 66: grawp $AFILES | pic | troff | gcan ! 67: ! 68: %.list:Q: $NAME.wx ! 69: wxlist $prereq ! 70: ! 71: %.smoke: %.wx %.pins ! 72: smoke -px $prereq >eyes ! 73: ! 74: %.fx: %.wx ! 75: fizz cvt $stem.wx >$stem.fx ! 76: ! 77: %.place: %.brd %.pkg %.fx ! 78: if [ ! -f $stem.pos ]; then touch $stem.pos; fi ! 79: cat $prereq >$stem.-pos ! 80: fizz place $stem.-pos $stem.pos ! 81: rm $stem.-pos ! 82: ! 83: %.check: %.brd %.pkg %.fx %.pos ! 84: fizz check -uw $prereq ! 85: ! 86: %.clip: %.brd %.pkg %.fx %.pos ! 87: fizz clip $prereq ! 88: ! 89: %.draw:Q: %.brd %.pkg %.fx %.pos ! 90: fizz draw -p $prereq ! 91: ! 92: %.wr: %.brd %.pkg %.fx %.pos ! 93: fizz wrap -c -v $prereq >N$target ! 94: if [ -f $target ]; then ! 95: rework $target N$target && mv NEW.wr N$target ! 96: else ! 97: mv N$target $target ! 98: fi ! 99: ! 100: %.wrap:Q: ! 101: if [ -f N$stem.wr ]; then ! 102: wrap -s -r$ORIENT -d30 UN.wr ! 103: wrap -s -r$ORIENT -d30 RE.wr ! 104: else ! 105: wrap -s -r$ORIENT -d30 $stem.wr ! 106: fi ! 107: ! 108: %.fix: ! 109: wrap -s -r$ORIENT -d30 fix.wr ! 110: ! 111: %.commit: ! 112: mv N$stem.wr $stem.wr && rm -f UN.wr RE.wr .lastwire ! 113: ! 114: $NAME.pins: $WFILES $PALP my.pins io.pins ! 115: ucds mkpins $prereq $PINLIB >pins.ng 2>errors ! 116: sed '/^\.[tT][tT]/s/[zZ]/g/g' pins.ng >$target ! 117: rm pins.ng ! 118: ! 119: $NAME.wx: $NAME.pins $WFILES ! 120: ucds cdmglob -f -v $prereq >$NAME.wX 2>errors ! 121: sed ' ! 122: /\/\//s/ .*\/\// / ! 123: /\.\//s/\([ ][ ]*[^/][^/]*\)\/.*\/\.\(\/.*\)/\1\2/ ! 124: s/ \// / ! 125: ' $NAME.wX >$target ! 126: rm $NAME.wX ! 127: ! 128: $NAME.pkg: $NAME.wx my.pkg $PKGLIB ! 129: getpkgs $prereq >pkg.ng 2>errors ! 130: mv pkg.ng $target ! 131: ! 132: pal:Q: $MIN ! 133: for i in $PALP ! 134: do ! 135: echo -n $i ! 136: echo `paltype $i` | findparts -n ! 137: done ! 138: ! 139: my.pkg my.pins io.pins: ! 140: touch $target ! 141: ! 142: name: ! 143: whatis NAME JFILES PAL WFILES GFILES FILES PALP MIN ! 144: ! 145: TIDYLIST='*.ng fizz.* mon.out core eyes errors from to' ! 146: tidy: ! 147: rm -f $TIDYLIST ! 148: clean: ! 149: rm -f $NAME.pins $NAME.pkg *.[pw] *.[fw]x *.min $TIDYLIST
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.