5 # intentionally want to rebuild drc and bom on every invocation
6 all: drc partslist partslist.csv pcb
8 drc: telemetrum.sch Makefile
9 -gnetlist -g drc2 telemetrum.sch -o telemetrum.drc
11 partslist: telemetrum.sch Makefile
12 gnetlist -g bom -o telemetrum.unsorted telemetrum.sch
13 head -n1 telemetrum.unsorted > partslist
14 tail -n+2 telemetrum.unsorted | sort >> partslist
15 rm -f telemetrum.unsorted
17 partslist.csv: telemetrum.sch Makefile
18 gnetlist -L $(SCHEME) -g partslistgag \
19 -o telemetrum.unsorted telemetrum.sch
20 head -n1 telemetrum.unsorted > partslist.csv
21 tail -n+2 telemetrum.unsorted | sort -t \, -k 8 >> partslist.csv
22 rm -f telemetrum.unsorted
24 partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
25 gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
27 partslist.mouser: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
28 gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch
30 pcb: telemetrum.sch project Makefile
33 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
34 # might be a really good idea for publishing designs to the web that others
35 # might review? Like this example from DJ:
38 # for i in channel.sch ethernet.sch power.sch mcu.sch; do \
40 # gschlas -e tmp.sch ; \
41 # mv tmp.sch ${WEB}/$$i; \
44 # this shoves local work out to the git.gag.com repository
48 telemetrum.xy: telemetrum.pcb
49 pcb -x bom telemetrum.pcb
51 telemetrum.bottom.gbr: telemetrum.pcb
52 pcb -x gerber telemetrum.pcb
54 zip: telemetrum.bottom.gbr telemetrum.bottommask.gbr telemetrum.fab.gbr telemetrum.top.gbr telemetrum.topmask.gbr telemetrum.toppaste.gbr telemetrum.topsilk.gbr telemetrum.group2.gbr telemetrum.group3.gbr telemetrum.plated-drill.cnc telemetrum.xy Makefile # telemetrum.xls
55 zip telemetrum.zip telemetrum.*.gbr telemetrum.*.cnc telemetrum.xy # telemetrum.xls
57 oshpark: telemetrum.bottom.gbr telemetrum.bottommask.gbr telemetrum.top.gbr telemetrum.topmask.gbr telemetrum.topsilk.gbr telemetrum.plated-drill.cnc
58 mv telemetrum.bottom.gbr bottom\ layer.ger
59 mv telemetrum.bottommask.gbr bottom\ solder\ mask.ger
60 mv telemetrum.bottomsilk.gbr bottom\ silk\ screen.ger
61 mv telemetrum.outline.gbr board\ outline.ger
62 mv telemetrum.top.gbr top\ layer.ger
63 mv telemetrum.topmask.gbr top\ solder\ mask.ger
64 mv telemetrum.topsilk.gbr top\ silk\ screen.ger
65 mv telemetrum.plated-drill.cnc drills.xln
66 mv telemetrum.group2.gbr internal\ plane\ 1.ger
67 mv telemetrum.group3.gbr internal\ plane\ 2.ger
68 zip telemetrum-oshpark.zip *.ger *.xln
70 stencil: telemetrum.bottom.gbr telemetrum.toppaste.gbr telemetrum.outline.gbr
71 zip telemetrum-stencil.zip telemetrum.toppaste.gbr telemetrum.outline.gbr
74 rm -f *.bom *.drc *.log *~ telemetrum.ps *.gbr *.cnc *bak* *- *.zip
75 rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
76 rm -f *.partslist *.new.pcb *.unsorted telemetrum.xls muffin-5267.pdf
78 muffins: partslist.csv $(AM)/glabels/muffin-short-5267.glabels
79 glabels-3-batch $(AM)/glabels/muffin-short-5267.glabels \
80 -i partslist.csv -o muffin-5267.ps >/dev/null && \
81 ps2pdf muffin-5267.ps && rm muffin-5267.ps