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 partslistam -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: $(PROJECT)-bom.csv $(AM)/glabels/muffin-5267.glabels
28 glabels-3-batch $(AM)/glabels/muffin-5267.glabels -i $(PROJECT)-bom.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 cp easymini.bottom.gbr bottom\ layer.ger
53 cp easymini.bottommask.gbr bottom\ solder\ mask.ger
54 cp easymini.bottomsilk.gbr bottom\ silk\ screen.ger
55 cp easymini.outline.gbr board\ outline.ger
56 cp easymini.top.gbr top\ layer.ger
57 cp easymini.topmask.gbr top\ solder\ mask.ger
58 cp easymini.topsilk.gbr top\ silk\ screen.ger
59 cp easymini.plated-drill.cnc drills.xln
60 zip easymini-oshpark.zip *.ger *.xln
62 $(PROJECT)-sch.ps: $(PROJECT).sch
63 gschem -p -o $(PROJECT)-sch.ps -s /usr/share/gEDA/scheme/print.scm \
66 $(PROJECT)-sch.pdf: $(PROJECT)-sch.ps
67 ps2pdf $(PROJECT)-sch.ps
69 $(PROJECT)-pcb.ps: $(PROJECT).pcb
70 pcb -x ps --psfile $(PROJECT)-pcb.ps --media Letter $(PROJECT).pcb
72 $(PROJECT)-pcb.pdf: $(PROJECT)-pcb.ps
73 ps2pdf $(PROJECT)-pcb.ps
75 pdf: $(PROJECT)-sch.pdf $(PROJECT)-pcb.pdf
78 rm -f *.bom *.drc *.log *~ $(PROJECT).ps *.gbr $(PROJECT).gerb *.cnc *bak* *- *.zip
79 rm -f *.net *.xy *.cmd *.png partslist $(PROJECT)-bom.csv partslist.dk partslist.mouser muffin-5267.pdf
80 rm -f *.partslist *.new.pcb *.unsorted $(PROJECT).xls
81 rm -f $(PROJECT)-stencil.zip $(PROJECT)*.pdf $(PROJECT)*.ps