With top silk fixed to make it "nicer" looking, go ahead and print it
[hw/easymini] / Makefile
1 PROJECT=easymini
2 AM=../altusmetrum
3 SCHEME=$(AM)/scheme
4 NICKLE=$(AM)/nickle
5 RETAB=nickle $(NICKLE)/retab
6
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
9
10 drc: $(PROJECT).sch
11         gnetlist -L $(SCHEME) -g drc2 $(PROJECT).sch -o $(PROJECT).drc
12
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
16
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
20
21 partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
22         gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
23
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
26
27 partslist.mouser: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
28         gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch
29
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
32
33 pcb:    $(PROJECT).sch project Makefile
34         gsch2pcb project
35
36 $(PROJECT).xy:  $(PROJECT).pcb
37         pcb -x bom $(PROJECT).pcb
38
39 $(PROJECT).gerb: $(PROJECT).pcb
40         rm -f *.gbr *.cnc
41         pcb -x gerber $(PROJECT).pcb
42         touch $@
43
44 zip: $(PROJECT).zip $(PROJECT)-stencil.zip $(PROJECT)-oshpark.zip
45
46 $(PROJECT).zip: $(PROJECT).gerb $(PROJECT).xy
47         rm -f $@
48         zip $@ *.gbr *.cnc *.xy
49
50 $(PROJECT)-stencil.zip: $(PROJECT).gerb
51         rm -f $@
52         zip $@ $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
53
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
64
65 $(PROJECT)-sch.ps:      $(PROJECT).sch
66         gschem -p -o $(PROJECT)-sch.ps -s /usr/share/gEDA/scheme/print.scm \
67                 $(PROJECT).sch 
68
69 $(PROJECT)-sch.pdf:     $(PROJECT)-sch.ps
70         ps2pdf $(PROJECT)-sch.ps
71
72 $(PROJECT)-pcb.ps:      $(PROJECT).pcb
73         pcb -x ps --psfile $(PROJECT)-pcb.ps --media Letter $(PROJECT).pcb
74
75 $(PROJECT)-pcb.pdf:     $(PROJECT)-pcb.ps
76         ps2pdf $(PROJECT)-pcb.ps
77
78 pdf:    $(PROJECT)-sch.pdf $(PROJECT)-pcb.pdf
79
80 clean:
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