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