4 # intentionally want to rebuild drc and bom on every invocation
5 all: drc partslist partslist.csv pcb
7 drc: teleterra.sch Makefile
8 -gnetlist -g drc2 teleterra.sch -o teleterra.drc
10 partslist: teleterra.sch Makefile
11 gnetlist -g bom -o teleterra.unsorted teleterra.sch
12 head -n1 teleterra.unsorted > partslist
13 tail -n+2 teleterra.unsorted | sort >> partslist
14 rm -f teleterra.unsorted
16 partslist.csv: teleterra.sch Makefile
17 gnetlist -L $(SCHEME) -g partslistgag \
18 -o teleterra.unsorted teleterra.sch
19 head -n1 teleterra.unsorted > partslist.csv
20 tail -n+2 teleterra.unsorted | sort -t \, -k 8 >> partslist.csv
21 rm -f teleterra.unsorted
23 pcb: teleterra.sch project Makefile
26 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
27 # might be a really good idea for publishing designs to the web that others
28 # might review? Like this example from DJ:
31 # for i in channel.sch ethernet.sch power.sch mcu.sch; do \
33 # gschlas -e tmp.sch ; \
34 # mv tmp.sch ${WEB}/$$i; \
37 # this shoves local work out to the git.gag.com repository
41 teleterra.xy: teleterra.pcb
42 pcb -x bom teleterra.pcb
44 teleterra.bottom.gbr: teleterra.pcb
45 pcb -x gerber teleterra.pcb
47 zip: teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.fab.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.toppaste.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc teleterra.xy Makefile # teleterra.xls
48 zip teleterra.zip teleterra.*.gbr teleterra.*.cnc teleterra.xy # teleterra.xls
50 oshpark: teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc
51 mv teleterra.bottom.gbr bottom\ layer.ger
52 mv teleterra.bottommask.gbr bottom\ solder\ mask.ger
53 mv teleterra.bottomsilk.gbr bottom\ silk\ screen.ger
54 mv teleterra.outline.gbr board\ outline.ger
55 mv teleterra.top.gbr top\ layer.ger
56 mv teleterra.topmask.gbr top\ solder\ mask.ger
57 mv teleterra.topsilk.gbr top\ silk\ screen.ger
58 mv teleterra.plated-drill.cnc drills.xln
59 zip teleterra-oshpark.zip *.ger *.xln
61 stencil: teleterra.bottom.gbr teleterra.toppaste.gbr teleterra.outline.gbr
62 zip teleterra-stencil.zip teleterra.toppaste.gbr teleterra.outline.gbr
65 rm -f *.bom *.drc *.log *~ teleterra.ps *.gbr *.cnc *bak* *- *.zip
66 rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
67 rm -f *.partslist *.new.pcb *.unsorted teleterra.xls muffin-5267.pdf
69 muffins: partslist.csv $(AM)/glabels/muffin-short-5267.glabels
70 glabels-3-batch $(AM)/glabels/muffin-short-5267.glabels \
71 -i partslist.csv -o muffin-5267.ps >/dev/null && \
72 ps2pdf muffin-5267.ps && rm muffin-5267.ps