5 RETAB=nickle $(NICKLE)/retab
7 # intentionally want to rebuild drc and bom on every invocation
8 all: drc pcb partslist partslist.csv partslist.dk muffin-5267.pdf zip
11 gnetlist -L $(SCHEME) -g drc2 $(PROJECT).sch -o $(PROJECT).drc
13 partslist: $(PROJECT).sch
14 gnetlist -L $(SCHEME) -g bom -o $(PROJECT).tabtmp $(PROJECT).sch
15 (head -n1 $(PROJECT).tabtmp; tail -n+2 $(PROJECT).tabtmp | sort) | $(RETAB) > $@ && rm -f $(PROJECT).tabtmp
17 partslist.csv: $(PROJECT).sch Makefile
18 gnetlist -L $(SCHEME) -g partslistgag -o $(PROJECT).csvtmp $(PROJECT).sch
19 (head -n1 $(PROJECT).csvtmp; tail -n+2 $(PROJECT).csvtmp | sort -t \, -k 8) > $@ && rm -f $(PROJECT).csvtmp
21 partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
22 gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
24 partslist.mouser: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
25 gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch
27 muffin-5267.pdf: partslist.csv $(AM)/glabels/muffin-5267.glabels
28 glabels-3-batch $(AM)/glabels/muffin-5267.glabels -i partslist.csv -o muffin-5267.ps && ps2pdf muffin-5267.ps && rm muffin-5267.ps
30 pcb: $(PROJECT).sch project Makefile
33 $(PROJECT).xy: $(PROJECT).pcb
34 pcb -x bom $(PROJECT).pcb
36 $(PROJECT).gerb: $(PROJECT).pcb
38 pcb -x gerber $(PROJECT).pcb
41 zip: $(PROJECT).zip $(PROJECT)-stencil.zip $(PROJECT)-oshpark.zip
43 $(PROJECT).zip: $(PROJECT).gerb $(PROJECT).xy
45 zip $@ *.gbr *.cnc *.xy
47 $(PROJECT)-stencil.zip: $(PROJECT).gerb
49 zip $@ $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
51 $(PROJECT)-oshpark.zip: $(PROJECT).gerb
52 mv easymetrum.bottom.gbr bottom\ layer.ger
53 mv easymetrum.bottommask.gbr bottom\ solder\ mask.ger
54 mv easymetrum.bottomsilk.gbr bottom\ silk\ screen.ger
55 mv easymetrum.outline.gbr board\ outline.ger
56 mv easymetrum.top.gbr top\ layer.ger
57 mv easymetrum.topmask.gbr top\ solder\ mask.ger
58 mv easymetrum.topsilk.gbr top\ silk\ screen.ger
59 mv easymetrum.plated-drill.cnc drills.xln
60 zip easymetrum-oshpark.zip *.ger *.xln
63 rm -f *.bom *.drc *.log *~ $(PROJECT).ps *.gbr $(PROJECT).gerb *.cnc *bak* *- *.zip
64 rm -f *.net *.xy *.cmd *.png partslist partslist.csv partslist.dk partslist.mouser muffin-5267.pdf
65 rm -f *.partslist *.new.pcb *.unsorted $(PROJECT).xls
66 rm -f $(PROJECT)-stencil.zip