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