AM=../altusmetrum SCHEME=$(AM)/scheme # intentionally want to rebuild drc and bom on every invocation all: drc partslist partslist.csv pcb drc: teleterra.sch Makefile -gnetlist -g drc2 teleterra.sch -o teleterra.drc partslist: teleterra.sch Makefile gnetlist -g bom -o teleterra.unsorted teleterra.sch head -n1 teleterra.unsorted > partslist tail -n+2 teleterra.unsorted | sort >> partslist rm -f teleterra.unsorted partslist.csv: teleterra.sch Makefile gnetlist -L $(SCHEME) -g partslistgag \ -o teleterra.unsorted teleterra.sch head -n1 teleterra.unsorted > partslist.csv tail -n+2 teleterra.unsorted | sort -t \, -k 8 >> partslist.csv rm -f teleterra.unsorted pcb: teleterra.sch project Makefile gsch2pcb project # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this # might be a really good idea for publishing designs to the web that others # might review? Like this example from DJ: # #web : # for i in channel.sch ethernet.sch power.sch mcu.sch; do \ # cp $$i tmp.sch ; \ # gschlas -e tmp.sch ; \ # mv tmp.sch ${WEB}/$$i; \ # done # this shoves local work out to the git.gag.com repository push: git push --mirror teleterra.xy: teleterra.pcb pcb -x bom teleterra.pcb teleterra.bottom.gbr: teleterra.pcb pcb -x gerber teleterra.pcb 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 teleterra.xy Makefile # teleterra.xls zip teleterra.zip teleterra.*.gbr teleterra.*.cnc teleterra.xy # teleterra.xls oshpark: teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc mv teleterra.bottom.gbr bottom\ layer.ger mv teleterra.bottommask.gbr bottom\ solder\ mask.ger mv teleterra.bottomsilk.gbr bottom\ silk\ screen.ger mv teleterra.outline.gbr board\ outline.ger mv teleterra.top.gbr top\ layer.ger mv teleterra.topmask.gbr top\ solder\ mask.ger mv teleterra.topsilk.gbr top\ silk\ screen.ger mv teleterra.plated-drill.cnc drills.xln zip teleterra-oshpark.zip *.ger *.xln stencil: teleterra.bottom.gbr teleterra.toppaste.gbr teleterra.outline.gbr zip teleterra-stencil.zip teleterra.toppaste.gbr teleterra.outline.gbr clean: rm -f *.bom *.drc *.log *~ teleterra.ps *.gbr *.cnc *bak* *- *.zip rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln rm -f *.partslist *.new.pcb *.unsorted teleterra.xls muffin-5267.pdf muffins: partslist.csv $(AM)/glabels/muffin-short-5267.glabels glabels-3-batch $(AM)/glabels/muffin-short-5267.glabels \ -i partslist.csv -o muffin-5267.ps >/dev/null && \ ps2pdf muffin-5267.ps && rm muffin-5267.ps