6 # intentionally want to rebuild drc and bom on every invocation
9 hw: drc partslist partslist.csv partslist.dk partslist.mouser
12 gnetlist -L $(SCHEME) -g drc2 teleterra.sch -o teleterra.drc
14 partslist: teleterra.sch
15 gnetlist -L $(SCHEME) -g bom -o teleterra.unsorted teleterra.sch
16 (head -n1 teleterra.unsorted; tail -n+2 teleterra.unsorted | sort) | nickle $(NICKLE)/retab > $@ && rm -f teleterra.unsorted
18 partslist.csv: teleterra.sch Makefile
19 gnetlist -L $(SCHEME) -g partslistgag \
20 -o teleterra.unsorted teleterra.sch
21 head -n1 teleterra.unsorted > partslist.csv
22 tail -n+2 teleterra.unsorted | sort -t \, -k 8 >> partslist.csv
23 rm -f teleterra.unsorted
25 partslist.dk: teleterra.sch Makefile scheme/gnet-partslist-bom.scm
26 gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ teleterra.sch
28 partslist.mouser: teleterra.sch Makefile scheme/gnet-partslist-bom.scm
29 gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ teleterra.sch
31 pcb: teleterra.sch project
34 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
35 # might be a really good idea for publishing designs to the web that others
36 # might review? Like this example from DJ:
39 # for i in channel.sch ethernet.sch power.sch mcu.sch; do \
41 # gschlas -e tmp.sch ; \
42 # mv tmp.sch ${WEB}/$$i; \
45 # this shoves local work out to the git.gag.com repository
49 teleterra.xy: teleterra.pcb
50 pcb -x bom teleterra.pcb
52 teleterra.bottom.gbr: teleterra.pcb
53 pcb -x gerber teleterra.pcb
55 zip: teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.fab.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.toppaste.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc
56 zip teleterra.zip *.gbr *.cnc
58 oshpark: teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc
59 mv teleterra.bottom.gbr bottom\ layer.ger
60 mv teleterra.bottommask.gbr bottom\ solder\ mask.ger
61 mv teleterra.bottomsilk.gbr bottom\ silk\ screen.ger
62 mv teleterra.outline.gbr board\ outline.ger
63 mv teleterra.top.gbr top\ layer.ger
64 mv teleterra.topmask.gbr top\ solder\ mask.ger
65 mv teleterra.topsilk.gbr top\ silk\ screen.ger
66 mv teleterra.plated-drill.cnc drills.xln
67 zip teleterra-oshpark.zip *.ger *.xln
69 stencil: teleterra.bottom.gbr teleterra.toppaste.gbr teleterra.outline.gbr
70 zip teleterra-stencil.zip teleterra.toppaste.gbr teleterra.outline.gbr
73 rm -f *.bom *.drc *.log *~ teleterra.ps *.gbr *.cnc *bak* *- *.zip
74 rm -f *.net *.xy *.cmd *.png partslist partslist.csv
75 rm -f *.partslist *.new.pcb *.unsorted
76 rm -f *.hex *.cod *.lst *.ps *.o *.asm