5 RETAB=nickle $(NICKLE)/retab
7 # intentionally want to rebuild drc and bom on every invocation
8 all: drc pcb partslist $(PROJECT)-bom.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 $(PROJECT)-bom.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-check.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-mfg-bom.scm
25 gnetlist -L $(SCHEME) -g partslist-mfg-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 muffin-5267.pdf: $(PROJECT)-bom.csv $(AM)/glabels/muffin-5267.glabels
31 glabels-3-batch $(AM)/glabels/muffin-5267.glabels -i $(PROJECT)-bom.csv -o muffin-5267.ps && ps2pdf muffin-5267.ps && rm muffin-5267.ps
33 pcb: $(PROJECT).sch project Makefile
36 $(PROJECT).xy: $(PROJECT).pcb
37 pcb -x bom $(PROJECT).pcb
39 $(PROJECT).gerb: $(PROJECT).pcb
41 pcb -x gerber $(PROJECT).pcb
44 zip: $(PROJECT).zip $(PROJECT)-stencil.zip $(PROJECT)-oshpark.zip
46 $(PROJECT).zip: $(PROJECT).gerb $(PROJECT).xy
48 zip $@ *.gbr *.cnc *.xy
50 $(PROJECT)-stencil.zip: $(PROJECT).gerb
52 zip $@ $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
54 $(PROJECT)-oshpark.zip: $(PROJECT).gerb
55 cp easymini.bottom.gbr bottom\ layer.ger
56 cp easymini.bottommask.gbr bottom\ solder\ mask.ger
57 cp easymini.bottomsilk.gbr bottom\ silk\ screen.ger
58 cp easymini.outline.gbr board\ outline.ger
59 cp easymini.top.gbr top\ layer.ger
60 cp easymini.topmask.gbr top\ solder\ mask.ger
61 cp easymini.topsilk.gbr top\ silk\ screen.ger
62 cp easymini.plated-drill.cnc drills.xln
63 zip easymini-oshpark.zip *.ger *.xln
65 $(PROJECT)-sch.ps: $(PROJECT).sch
66 gschem -p -o $(PROJECT)-sch.ps -s /usr/share/gEDA/scheme/print.scm \
69 $(PROJECT)-sch.pdf: $(PROJECT)-sch.ps
70 ps2pdf $(PROJECT)-sch.ps
72 $(PROJECT)-pcb.ps: $(PROJECT).pcb
73 pcb -x ps --psfile $(PROJECT)-pcb.ps --media Letter $(PROJECT).pcb
75 $(PROJECT)-pcb.pdf: $(PROJECT)-pcb.ps
76 ps2pdf $(PROJECT)-pcb.ps
78 pdf: $(PROJECT)-sch.pdf $(PROJECT)-pcb.pdf
81 rm -f *.bom *.drc *.log *~ $(PROJECT).ps *.gbr $(PROJECT).gerb *.cnc *bak* *- *.zip *.ger *.xln
82 rm -f *.net *.xy *.cmd *.png partslist $(PROJECT)-bom.csv partslist.dk partslist.mouser muffin-5267.pdf
83 rm -f *.partslist *.new.pcb *.unsorted $(PROJECT).xls
84 rm -f $(PROJECT)-stencil.zip $(PROJECT)*.pdf $(PROJECT)*.ps