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