4 # intentionally want to rebuild drc and bom on every invocation
5 all: drc partslist partslist.csv pcb
7 drc: telemega.sch Makefile
8 -gnetlist -g drc2 telemega.sch -o telemega.drc
10 partslist: telemega.sch Makefile
11 gnetlist -g bom -o telemega.unsorted telemega.sch
12 head -n1 telemega.unsorted > partslist
13 tail -n+2 telemega.unsorted | sort >> partslist
14 rm -f telemega.unsorted
16 partslist.csv: telemega.sch Makefile
17 gnetlist -L $(SCHEME) -g partslistgag \
18 -o telemega.unsorted telemega.sch
19 head -n1 telemega.unsorted > partslist.csv
20 tail -n+2 telemega.unsorted | sort -t \, -k 8 >> partslist.csv
21 rm -f telemega.unsorted
23 pcb: telemega.sch project Makefile
26 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
27 # might be a really good idea for publishing designs to the web that others
28 # might review? Like this example from DJ:
31 # for i in channel.sch ethernet.sch power.sch mcu.sch; do \
33 # gschlas -e tmp.sch ; \
34 # mv tmp.sch ${WEB}/$$i; \
37 # this shoves local work out to the git.gag.com repository
41 telemega.xy: telemega.pcb
42 pcb -x bom telemega.pcb
44 telemega.bottom.gbr: telemega.pcb
45 pcb -x gerber telemega.pcb
47 zip: telemega.bottom.gbr telemega.bottommask.gbr telemega.fab.gbr telemega.top.gbr telemega.topmask.gbr telemega.toppaste.gbr telemega.topsilk.gbr telemega.group2.gbr telemega.group3.gbr telemega.plated-drill.cnc telemega.xy Makefile # telemega.xls
48 zip telemega.zip telemega.*.gbr telemega.*.cnc telemega.xy # telemega.xls
50 oshpark: telemega.bottom.gbr telemega.bottommask.gbr telemega.top.gbr telemega.topmask.gbr telemega.topsilk.gbr telemega.plated-drill.cnc
51 mv telemega.bottom.gbr bottom\ layer.ger
52 mv telemega.bottommask.gbr bottom\ solder\ mask.ger
53 mv telemega.bottomsilk.gbr bottom\ silk\ screen.ger
54 mv telemega.outline.gbr board\ outline.ger
55 mv telemega.top.gbr top\ layer.ger
56 mv telemega.topmask.gbr top\ solder\ mask.ger
57 mv telemega.topsilk.gbr top\ silk\ screen.ger
58 mv telemega.plated-drill.cnc drills.xln
59 mv telemega.group2.gbr internal\ plane\ 1.ger
60 mv telemega.group3.gbr internal\ plane\ 2.ger
61 zip telemega-oshpark.zip *.ger *.xln
63 stencil: telemega.bottom.gbr telemega.toppaste.gbr telemega.outline.gbr
64 zip telemega-stencil.zip telemega.toppaste.gbr telemega.outline.gbr
67 rm -f *.bom *.drc *.log *~ telemega.ps *.gbr *.cnc *bak* *- *.zip
68 rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
69 rm -f *.partslist *.new.pcb *.unsorted telemega.xls muffin-5267.pdf
71 muffins: partslist.csv $(AM)/glabels/muffin-short-5267.glabels
72 glabels-3-batch $(AM)/glabels/muffin-short-5267.glabels \
73 -i partslist.csv -o muffin-5267.ps >/dev/null && \
74 ps2pdf muffin-5267.ps && rm muffin-5267.ps