Update component part numbers
[hw/telemini] / Makefile
1 PROJECT=telemini
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:    telemini.sch Makefile
9         -gnetlist -g drc2 telemini.sch -o telemini.drc
10
11 partslist:      telemini.sch Makefile
12         gnetlist -g bom -o telemini.unsorted telemini.sch
13         head -n1 telemini.unsorted > partslist
14         tail -n+2 telemini.unsorted | sort >> partslist
15         rm -f telemini.unsorted
16
17 partslist.csv:  telemini.sch Makefile
18         gnetlist -L $(SCHEME) -g partslistgag -o $(PROJECT).csvtmp $(PROJECT).sch
19         (head -n1 $(PROJECT).csvtmp; tail -n+2 $(PROJECT).csvtmp | sort -t \, -k 8) > $@ && rm -f $(PROJECT).csvtmp
20
21 partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
22         gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
23
24 partslist.mouser: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
25         gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch
26
27 pcb:    telemini.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 telemini.xy:    telemini.pcb
46         pcb -x bom telemini.pcb
47
48 telemini.back.gbr:      telemini.pcb
49         pcb -x gerber telemini.pcb
50
51 zip:    telemini.back.gbr telemini.backmask.gbr telemini.fab.gbr telemini.front.gbr telemini.frontmask.gbr telemini.frontpaste.gbr telemini.plated-drill.cnc telemini.xy  Makefile # telemini.xls
52         zip telemini.zip telemini.*.gbr telemini.*.cnc telemini.xy # telemini.xls
53         zip -d telemini.zip telemini.frontsilk.gbr
54
55 clean:
56         rm -f *.bom *.drc *.log *~ telemini.ps *.gbr *.cnc *bak* *- *.zip 
57         rm -f *.net *.xy *.cmd *.png partslist partslist.csv
58         rm -f *.partslist *.new.pcb *.unsorted telemini.xls
59