|
|
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.