5 # intentionally want to rebuild drc and bom on every invocation
6 all: drc partslist partslist.csv pcb
8 drc: fctester.sch Makefile
9 -gnetlist -g drc2 fctester.sch -o fctester.drc
11 partslist: fctester.sch Makefile
12 gnetlist -g bom -o fctester.unsorted fctester.sch
13 head -n1 fctester.unsorted > partslist
14 tail -n+2 fctester.unsorted | sort >> partslist
15 rm -f fctester.unsorted
17 partslist.csv: fctester.sch Makefile
18 gnetlist -L $(SCHEME) -g partslistgag \
19 -o fctester.unsorted fctester.sch
20 head -n1 fctester.unsorted > partslist.csv
21 tail -n+2 fctester.unsorted | sort -t \, -k 8 >> partslist.csv
22 rm -f fctester.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: fctester.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 fctester.xy: fctester.pcb
49 pcb -x bom fctester.pcb
51 fctester.bottom.gbr: fctester.pcb
52 pcb -x gerber fctester.pcb
54 zip: fctester.bottom.gbr fctester.bottommask.gbr fctester.fab.gbr fctester.top.gbr fctester.topmask.gbr fctester.toppaste.gbr fctester.topsilk.gbr fctester.plated-drill.cnc fctester.xy Makefile # fctester.xls
55 zip fctester.zip fctester.*.gbr fctester.*.cnc fctester.xy # fctester.xls
57 oshpark: fctester.bottom.gbr fctester.bottommask.gbr fctester.top.gbr fctester.topmask.gbr fctester.topsilk.gbr fctester.plated-drill.cnc
58 mv fctester.bottom.gbr bottom\ layer.ger
59 mv fctester.bottommask.gbr bottom\ solder\ mask.ger
60 mv fctester.outline.gbr board\ outline.ger
61 mv fctester.top.gbr top\ layer.ger
62 mv fctester.topmask.gbr top\ solder\ mask.ger
63 mv fctester.topsilk.gbr top\ silk\ screen.ger
64 mv fctester.plated-drill.cnc drills.xln
65 zip fctester-oshpark.zip *.ger *.xln
67 stencil: fctester.bottom.gbr fctester.toppaste.gbr fctester.outline.gbr
68 zip fctester-stencil.zip fctester.toppaste.gbr fctester.outline.gbr
71 rm -f *.bom *.drc *.log *~ fctester.ps *.gbr *.cnc *bak* *- *.zip
72 rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
73 rm -f *.partslist *.new.pcb *.unsorted fctester.xls muffin-5267.pdf
75 muffins: partslist.csv $(AM)/glabels/muffin-short-5267.glabels
76 glabels-3-batch $(AM)/glabels/muffin-short-5267.glabels \
77 -i partslist.csv -o muffin-5267.ps >/dev/null && \
78 ps2pdf muffin-5267.ps && rm muffin-5267.ps