PROJECT=easymetrum AM=../altusmetrum SCHEME=$(AM)/scheme NICKLE=$(AM)/nickle RETAB=nickle $(NICKLE)/retab # intentionally want to rebuild drc and bom on every invocation all: drc pcb partslist partslist.csv partslist.dk muffin-5267.pdf zip drc: $(PROJECT).sch gnetlist -L $(SCHEME) -g drc2 $(PROJECT).sch -o $(PROJECT).drc partslist: $(PROJECT).sch gnetlist -L $(SCHEME) -g bom -o $(PROJECT).tabtmp $(PROJECT).sch (head -n1 $(PROJECT).tabtmp; tail -n+2 $(PROJECT).tabtmp | sort) | $(RETAB) > $@ && rm -f $(PROJECT).tabtmp partslist.csv: $(PROJECT).sch Makefile gnetlist -L $(SCHEME) -g partslistgag -o $(PROJECT).csvtmp $(PROJECT).sch (head -n1 $(PROJECT).csvtmp; tail -n+2 $(PROJECT).csvtmp | sort -t \, -k 8) > $@ && rm -f $(PROJECT).csvtmp 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 muffin-5267.pdf: partslist.csv $(AM)/glabels/muffin-5267.glabels glabels-3-batch $(AM)/glabels/muffin-5267.glabels -i partslist.csv -o muffin-5267.ps && ps2pdf muffin-5267.ps && rm muffin-5267.ps pcb: $(PROJECT).sch project Makefile gsch2pcb project $(PROJECT).xy: $(PROJECT).pcb pcb -x bom $(PROJECT).pcb $(PROJECT).gerb: $(PROJECT).pcb rm -f *.gbr *.cnc pcb -x gerber $(PROJECT).pcb touch $@ zip: $(PROJECT).zip $(PROJECT)-stencil.zip $(PROJECT)-oshpark.zip $(PROJECT).zip: $(PROJECT).gerb $(PROJECT).xy rm -f $@ zip $@ *.gbr *.cnc *.xy $(PROJECT)-stencil.zip: $(PROJECT).gerb rm -f $@ zip $@ $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr $(PROJECT)-oshpark.zip: $(PROJECT).gerb mv easymetrum.bottom.gbr bottom\ layer.ger mv easymetrum.bottommask.gbr bottom\ solder\ mask.ger mv easymetrum.bottomsilk.gbr bottom\ silk\ screen.ger mv easymetrum.outline.gbr board\ outline.ger mv easymetrum.top.gbr top\ layer.ger mv easymetrum.topmask.gbr top\ solder\ mask.ger mv easymetrum.topsilk.gbr top\ silk\ screen.ger mv easymetrum.plated-drill.cnc drills.xln zip easymetrum-oshpark.zip *.ger *.xln clean: rm -f *.bom *.drc *.log *~ $(PROJECT).ps *.gbr $(PROJECT).gerb *.cnc *bak* *- *.zip rm -f *.net *.xy *.cmd *.png partslist partslist.csv partslist.dk partslist.mouser muffin-5267.pdf rm -f *.partslist *.new.pcb *.unsorted $(PROJECT).xls rm -f $(PROJECT)-stencil.zip