AM=../altusmetrum SCHEME=$(AM)/scheme PROJECT=fctester # intentionally want to rebuild drc and bom on every invocation all: drc partslist partslist.csv pcb drc: fctester.sch Makefile -gnetlist -g drc2 fctester.sch -o fctester.drc partslist: fctester.sch Makefile gnetlist -g bom -o fctester.unsorted fctester.sch head -n1 fctester.unsorted > partslist tail -n+2 fctester.unsorted | sort >> partslist rm -f fctester.unsorted partslist.csv: fctester.sch Makefile gnetlist -L $(SCHEME) -g partslistgag \ -o fctester.unsorted fctester.sch head -n1 fctester.unsorted > partslist.csv tail -n+2 fctester.unsorted | sort -t \, -k 8 >> partslist.csv rm -f fctester.unsorted partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch partslist.mouser: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch pcb: fctester.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 fctester.xy: fctester.pcb pcb -x bom fctester.pcb fctester.bottom.gbr: fctester.pcb pcb -x gerber fctester.pcb zip: fctester.bottom.gbr fctester.bottommask.gbr fctester.fab.gbr fctester.top.gbr fctester.topmask.gbr fctester.toppaste.gbr fctester.topsilk.gbr fctester.plated-drill.cnc fctester.xy Makefile # fctester.xls zip fctester.zip fctester.*.gbr fctester.*.cnc fctester.xy # fctester.xls oshpark: fctester.bottom.gbr fctester.bottommask.gbr fctester.top.gbr fctester.topmask.gbr fctester.topsilk.gbr fctester.plated-drill.cnc mv fctester.bottom.gbr bottom\ layer.ger mv fctester.bottommask.gbr bottom\ solder\ mask.ger mv fctester.bottomsilk.gbr bottom\ silk\ screen.ger mv fctester.outline.gbr board\ outline.ger mv fctester.top.gbr top\ layer.ger mv fctester.topmask.gbr top\ solder\ mask.ger mv fctester.topsilk.gbr top\ silk\ screen.ger mv fctester.plated-drill.cnc drills.xln zip fctester-oshpark.zip *.ger *.xln stencil: fctester.bottom.gbr fctester.toppaste.gbr fctester.outline.gbr zip fctester-stencil.zip fctester.toppaste.gbr fctester.outline.gbr clean: rm -f *.bom *.drc *.log *~ fctester.ps *.gbr *.cnc *bak* *- *.zip rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln rm -f *.partslist *.new.pcb *.unsorted fctester.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