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