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 easymini.bottom.gbr bottom\ layer.ger
53 mv easymini.bottommask.gbr bottom\ solder\ mask.ger
54 mv easymini.bottomsilk.gbr bottom\ silk\ screen.ger
55 mv easymini.outline.gbr board\ outline.ger
56 mv easymini.top.gbr top\ layer.ger
57 mv easymini.topmask.gbr top\ solder\ mask.ger
58 mv easymini.topsilk.gbr top\ silk\ screen.ger
59 mv easymini.plated-drill.cnc drills.xln
60 zip easymini-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