add more attributes, elide 'unknown' in partslist.csv
[hw/telebt] / Makefile
index 0c81683a46aaf542303f6395c2cbb5899c144499..e35e1e2128d2910fe5f70f8570ef55db3446d0ab 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,9 @@
+PROJECT=telebt
+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
 
@@ -11,14 +17,21 @@ partslist:  telebt.sch Makefile
        rm -f telebt.unsorted
 
 partslist.csv: telebt.sch Makefile
-       gnetlist -g partslistgag -o telebt.unsorted telebt.sch
+       gnetlist -L ../altusmetrum/scheme -g partslistgag \
+               -o telebt.unsorted telebt.sch
        head -n1 telebt.unsorted > partslist.csv
-       tail -n+2 telebt.unsorted | sort -t \, -k 8 >> partslist.csv
+       tail -n+2 telebt.unsorted | sed -e 's/unknown//g' | sort -t \, -k 8 >> partslist.csv
        rm -f telebt.unsorted
 
 pcb:   telebt.sch project Makefile
        gsch2pcb project
 
+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
+
 # 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:
@@ -40,11 +53,33 @@ telebt.xy:  telebt.pcb
 telebt.bottom.gbr:     telebt.pcb
        pcb -x gerber telebt.pcb
 
-zip:   telebt.bottom.gbr telebt.bottommask.gbr telebt.fab.gbr telebt.top.gbr telebt.topmask.gbr telebt.bottompaste.gbr telebt.topsilk.gbr telebt.plated-drill.cnc telebt.xy  Makefile # telebt.xls
+zip:   telebt.bottom.gbr telebt.bottommask.gbr telebt.fab.gbr telebt.top.gbr telebt.topmask.gbr telebt.toppaste.gbr telebt.topsilk.gbr telebt.plated-drill.cnc telebt.xy  Makefile # telebt.xls
        zip telebt.zip telebt.*.gbr telebt.*.cnc telebt.xy # telebt.xls
 
+oshpark: $(PROJECT).bottom.gbr $(PROJECT).bottommask.gbr $(PROJECT).top.gbr $(PROJECT).topmask.gbr $(PROJECT).topsilk.gbr $(PROJECT).plated-drill.cnc
+       mv $(PROJECT).bottom.gbr bottom\ layer.ger
+       mv $(PROJECT).bottommask.gbr bottom\ solder\ mask.ger
+       mv $(PROJECT).bottomsilk.gbr bottom\ silk\ screen.ger
+       mv $(PROJECT).outline.gbr board\ outline.ger
+       mv $(PROJECT).top.gbr top\ layer.ger
+       mv $(PROJECT).topmask.gbr top\ solder\ mask.ger
+       mv $(PROJECT).topsilk.gbr top\ silk\ screen.ger
+       mv $(PROJECT).plated-drill.cnc drills.xln
+       mv $(PROJECT).group2.gbr internal\ plane\ 1.ger
+       mv $(PROJECT).group3.gbr internal\ plane\ 2.ger
+       zip $(PROJECT)-oshpark.zip *.ger *.xln
+
+muffins: partslist.csv $(AM)/glabels/muffin-5267.glabels
+       glabels-3-batch $(AM)/glabels/muffin-5267.glabels \
+               -i partslist.csv -o muffin-5267.ps >/dev/null && \
+               ps2pdf muffin-5267.ps && rm muffin-5267.ps
+
+stencil:       $(PROJECT).pcb
+       pcb -x gerber --paste-adjust -0.075 $(PROJECT).pcb
+       mv $(PROJECT).toppaste.gbr stencil.gbr
+
 clean:
        rm -f *.bom *.drc *.log *~ telebt.ps *.gbr *.cnc *bak* *- *.zip 
-       rm -f *.net *.xy *.cmd *.png partslist partslist.csv
-       rm -f *.partslist *.new.pcb *.unsorted telebt.xls
+       rm -f *.net *.xy *.cmd *.png partslist partslist.csv partslist.dk partslist.mouser
+       rm -f *.partslist *.new.pcb *.unsorted telebt.xls *.ger *.xln