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