1 # intentionally want to rebuild drc and bom on every invocation
2 all: drc partslist partslist.csv pcb
4 drc: roboservo.sch Makefile
5 -gnetlist -g drc2 roboservo.sch -o roboservo.drc
7 partslist: roboservo.sch Makefile
8 gnetlist -g bom -o roboservo.unsorted roboservo.sch
9 head -n1 roboservo.unsorted > partslist
10 tail -n+2 roboservo.unsorted | sort >> partslist
11 rm -f roboservo.unsorted
13 partslist.csv: roboservo.sch Makefile
14 gnetlist -L ../altusmetrum/scheme -g partslistgag \
15 -o roboservo.unsorted roboservo.sch
16 head -n1 roboservo.unsorted > partslist.csv
17 tail -n+2 roboservo.unsorted | sort -t \, -k 8 >> partslist.csv
18 rm -f roboservo.unsorted
20 pcb: roboservo.sch project Makefile
23 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
24 # might be a really good idea for publishing designs to the web that others
25 # might review? Like this example from DJ:
28 # for i in channel.sch ethernet.sch power.sch mcu.sch; do \
30 # gschlas -e tmp.sch ; \
31 # mv tmp.sch ${WEB}/$$i; \
34 # this shoves local work out to the git.gag.com repository
38 roboservo.xy: roboservo.pcb
39 pcb -x bom roboservo.pcb
41 roboservo.bottom.gbr: roboservo.pcb
42 pcb -x gerber roboservo.pcb
44 zip: roboservo.bottom.gbr roboservo.bottommask.gbr roboservo.fab.gbr roboservo.top.gbr roboservo.topmask.gbr roboservo.toppaste.gbr roboservo.topsilk.gbr roboservo.plated-drill.cnc roboservo.xy Makefile # roboservo.xls
45 zip roboservo.zip roboservo.*.gbr roboservo.*.cnc roboservo.xy # roboservo.xls
47 oshpark: roboservo.bottom.gbr roboservo.bottommask.gbr roboservo.top.gbr roboservo.topmask.gbr roboservo.topsilk.gbr roboservo.plated-drill.cnc
48 mv roboservo.bottom.gbr bottom\ layer.ger
49 mv roboservo.bottommask.gbr bottom\ solder\ mask.ger
50 mv roboservo.bottomsilk.gbr bottom\ silk\ screen.ger
51 mv roboservo.outline.gbr board\ outline.ger
52 mv roboservo.top.gbr top\ layer.ger
53 mv roboservo.topmask.gbr top\ solder\ mask.ger
54 mv roboservo.topsilk.gbr top\ silk\ screen.ger
55 mv roboservo.plated-drill.cnc drills.xln
56 zip roboservo-oshpark.zip *.ger *.xln
58 stencil: roboservo.toppaste.gbr roboservo.outline.gbr
59 zip roboservo-stencil.zip roboservo.toppaste.gbr roboservo.outline.gbr
62 rm -f *.bom *.drc *.log *~ roboservo.ps *.gbr *.cnc *bak* *- *.zip
63 rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
64 rm -f *.partslist *.new.pcb *.unsorted roboservo.xls