PROJECT=telemini AM=../altusmetrum SCHEME=$(AM)/scheme NICKLE=$(AM)/nickle RETAB=nickle $(NICKLE)/retab # intentionally want to rebuild drc and bom on every invocation all: drc partslist partslist.csv pcb drc: telemini.sch Makefile -gnetlist -g drc2 telemini.sch -o telemini.drc partslist: telemini.sch Makefile gnetlist -g bom -o telemini.unsorted telemini.sch head -n1 telemini.unsorted > partslist tail -n+2 telemini.unsorted | sort >> partslist rm -f telemini.unsorted partslist.csv: telemini.sch Makefile gnetlist -L $(SCHEME) -g partslistgag \ -o telemini.unsorted telemini.sch head -n1 telemini.unsorted > partslist.csv tail -n+2 telemini.unsorted | sort -t \, -k 8 >> partslist.csv rm -f telemini.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: telemini.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 telemini.xy: telemini.pcb pcb -x bom telemini.pcb telemini.bottom.gbr: telemini.pcb pcb -x gerber telemini.pcb PDF=$(PROJECT)-sch.pdf $(PROJECT)-pcb.pdf PS=$(PROJECT)-sch.ps $(PROJECT)-pcb.ps pdf: $(PDF) $(PROJECT)-sch.pdf: $(PROJECT)-sch.ps ps2pdf $(PROJECT)-sch.ps $(PROJECT)-pcb.pdf: $(PROJECT)-pcb.ps ps2pdf $(PROJECT)-pcb.ps $(PROJECT)-sch.ps: $(PROJECT).sch gschem -p -o $@ -s /usr/share/gEDA/scheme/print.scm $(PROJECT).sch $(PROJECT)-pcb.ps: $(PROJECT).pcb pcb -x ps --ps-color --psfile $(PROJECT)-pcb.ps --media Letter $(PROJECT).pcb zip: telemini.bottom.gbr telemini.bottommask.gbr telemini.fab.gbr telemini.top.gbr telemini.topmask.gbr telemini.toppaste.gbr telemini.topsilk.gbr telemini.plated-drill.cnc telemini.xy Makefile # telemini.xls zip telemini.zip telemini.*.gbr telemini.*.cnc telemini.xy # telemini.xls oshpark: telemini.bottom.gbr telemini.bottommask.gbr telemini.top.gbr telemini.topmask.gbr telemini.topsilk.gbr telemini.plated-drill.cnc mv telemini.bottom.gbr bottom\ layer.ger mv telemini.bottommask.gbr bottom\ solder\ mask.ger mv telemini.bottomsilk.gbr bottom\ silk\ screen.ger mv telemini.outline.gbr board\ outline.ger mv telemini.top.gbr top\ layer.ger mv telemini.topmask.gbr top\ solder\ mask.ger mv telemini.topsilk.gbr top\ silk\ screen.ger mv telemini.plated-drill.cnc drills.xln zip telemini-oshpark.zip *.ger *.xln stencil: telemini.bottom.gbr telemini.toppaste.gbr telemini.outline.gbr zip telemini-stencil.zip telemini.toppaste.gbr telemini.outline.gbr clean: rm -f *.bom *.drc *.log *~ telemini.ps *.gbr *.cnc *bak* *- *.zip rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln rm -f *.partslist *.new.pcb *.unsorted telemini.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 glabels-3-batch $(AM)/glabels/muffin-5267.glabels \ -i partslist.csv -o muffin-parts.ps >/dev/null && \ ps2pdf muffin-parts.ps && rm muffin-parts.ps