add dk target
[hw/lipocharger] / Makefile
1 PROJECT=lipocharger
2 AM=../altusmetrum
3 SCHEME=$(AM)/scheme
4
5 # intentionally want to rebuild drc and bom on every invocation
6 all:    drc partslist partslist.csv pcb
7
8 drc:    lipocharger.sch Makefile
9         -gnetlist -g drc2 lipocharger.sch -o lipocharger.drc
10
11 partslist:      lipocharger.sch Makefile
12         gnetlist -g bom -o lipocharger.unsorted lipocharger.sch
13         head -n1 lipocharger.unsorted > partslist
14         tail -n+2 lipocharger.unsorted | sort >> partslist
15         rm -f lipocharger.unsorted
16
17 partslist.csv:  lipocharger.sch Makefile
18         gnetlist -L $(SCHEME) -g partslistgag \
19                 -o lipocharger.unsorted lipocharger.sch
20         head -n1 lipocharger.unsorted > partslist.csv
21         tail -n+2 lipocharger.unsorted | sort -t \, -k 8 >> partslist.csv
22         rm -f lipocharger.unsorted
23
24 partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
25         gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
26
27 pcb:    lipocharger.sch project Makefile
28         gsch2pcb project
29
30 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
31 # might be a really good idea for publishing designs to the web that others
32 # might review?  Like this example from DJ:
33 #
34 #web :
35 #        for i in channel.sch ethernet.sch power.sch mcu.sch; do \
36 #          cp $$i tmp.sch ; \
37 #          gschlas -e tmp.sch ; \
38 #          mv tmp.sch ${WEB}/$$i; \
39 #        done
40
41 # this shoves local work out to the git.gag.com repository
42 push:   
43         git push --mirror
44
45 lipocharger.xy: lipocharger.pcb
46         pcb -x bom lipocharger.pcb
47
48 lipocharger.bottom.gbr: lipocharger.pcb
49         pcb -x gerber lipocharger.pcb
50
51 zip:    lipocharger.bottom.gbr lipocharger.bottommask.gbr lipocharger.fab.gbr lipocharger.top.gbr lipocharger.topmask.gbr lipocharger.toppaste.gbr lipocharger.topsilk.gbr lipocharger.plated-drill.cnc lipocharger.xy  Makefile # lipocharger.xls
52         zip lipocharger.zip lipocharger.*.gbr lipocharger.*.cnc lipocharger.xy # lipocharger.xls
53
54 oshpark: lipocharger.bottom.gbr lipocharger.bottommask.gbr lipocharger.top.gbr lipocharger.topmask.gbr lipocharger.plated-drill.cnc
55         mv lipocharger.bottom.gbr bottom\ layer.ger
56         mv lipocharger.bottommask.gbr bottom\ solder\ mask.ger
57         mv lipocharger.bottomsilk.gbr bottom\ silk\ screen.ger
58         mv lipocharger.outline.gbr board\ outline.ger
59         mv lipocharger.top.gbr top\ layer.ger
60         mv lipocharger.topmask.gbr top\ solder\ mask.ger
61         mv lipocharger.plated-drill.cnc drills.xln
62         zip lipocharger-oshpark.zip *.ger *.xln
63
64 stencil:        lipocharger.bottom.gbr lipocharger.toppaste.gbr lipocharger.outline.gbr
65         zip lipocharger-stencil.zip lipocharger.toppaste.gbr lipocharger.outline.gbr
66
67 clean:
68         rm -f *.bom *.drc *.log *~ lipocharger.ps *.gbr *.cnc *bak* *- *.zip 
69         rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
70         rm -f *.partslist *.new.pcb *.unsorted lipocharger.xls muffin-5267.pdf
71         rm -f partslist.dk
72
73 muffins: partslist.csv $(AM)/glabels/muffin-short-5267.glabels
74         glabels-3-batch $(AM)/glabels/muffin-short-5267.glabels \
75                 -i partslist.csv -o muffin-5267.ps >/dev/null && \
76                 ps2pdf muffin-5267.ps && rm muffin-5267.ps
77