PROJECT=easymini 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 $(PROJECT)-bom.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 $(PROJECT)-bom.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-check.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-mfg-bom.scm gnetlist -L $(SCHEME) -g partslist-mfg-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: $(PROJECT)-bom.csv $(AM)/glabels/muffin-5267.glabels glabels-3-batch $(AM)/glabels/muffin-5267.glabels -i $(PROJECT)-bom.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 cp easymini.bottom.gbr bottom\ layer.ger cp easymini.bottommask.gbr bottom\ solder\ mask.ger cp easymini.bottomsilk.gbr bottom\ silk\ screen.ger cp easymini.outline.gbr board\ outline.ger cp easymini.top.gbr top\ layer.ger cp easymini.topmask.gbr top\ solder\ mask.ger cp easymini.topsilk.gbr top\ silk\ screen.ger cp easymini.plated-drill.cnc drills.xln zip easymini-oshpark.zip *.ger *.xln $(PROJECT)-sch.ps: $(PROJECT).sch gschem -p -o $(PROJECT)-sch.ps -s /usr/share/gEDA/scheme/print.scm \ $(PROJECT).sch $(PROJECT)-sch.pdf: $(PROJECT)-sch.ps ps2pdf $(PROJECT)-sch.ps $(PROJECT)-pcb.ps: $(PROJECT).pcb pcb -x ps --psfile $(PROJECT)-pcb.ps --media Letter $(PROJECT).pcb $(PROJECT)-pcb.pdf: $(PROJECT)-pcb.ps ps2pdf $(PROJECT)-pcb.ps pdf: $(PROJECT)-sch.pdf $(PROJECT)-pcb.pdf clean: rm -f *.bom *.drc *.log *~ $(PROJECT).ps *.gbr $(PROJECT).gerb *.cnc *bak* *- *.zip *.ger *.xln rm -f *.net *.xy *.cmd *.png partslist $(PROJECT)-bom.csv partslist.dk partslist.mouser muffin-5267.pdf rm -f *.partslist *.new.pcb *.unsorted $(PROJECT).xls rm -f $(PROJECT)-stencil.zip $(PROJECT)*.pdf $(PROJECT)*.ps