Merge branch 'master' of ssh://git.gag.com/scm/git/hw/teleterra
[hw/teleterra] / Makefile
index 61918701fac3b4b90f4b15f72e3675e7a3d7413d..4f855c110aa8208939ab27e7d62df5f9bd9c5841 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,26 @@
-# intentionally want to rebuild drc and bom on every invocation
-all:   hw sw
-
-hw:    drc bom 
-
-sw:    teleterra.hex
+AM=../altusmetrum
+SCHEME=$(AM)/scheme
 
-teleterra.hex: teleterra.asm
-       gpasm teleterra.asm
+# intentionally want to rebuild drc and bom on every invocation
+all:   drc partslist partslist.csv pcb
 
-drc:   teleterra.sch
+drc:   teleterra.sch Makefile
        -gnetlist -g drc2 teleterra.sch -o teleterra.drc
 
-bom:   teleterra.sch
+partslist:     teleterra.sch Makefile
        gnetlist -g bom -o teleterra.unsorted teleterra.sch
-       head -n1 teleterra.unsorted > teleterra.bom
-       tail -n+2 teleterra.unsorted | sort >> teleterra.bom
+       head -n1 teleterra.unsorted > partslist
+       tail -n+2 teleterra.unsorted | sort >> partslist
+       rm -f teleterra.unsorted
+
+partslist.csv: teleterra.sch Makefile
+       gnetlist -L $(SCHEME) -g partslistgag \
+               -o teleterra.unsorted teleterra.sch
+       head -n1 teleterra.unsorted > partslist.csv
+       tail -n+2 teleterra.unsorted | sort -t \, -k 8 >> partslist.csv
        rm -f teleterra.unsorted
 
-pcb:   teleterra.sch project
+pcb:   teleterra.sch project Makefile
        gsch2pcb project
 
 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
@@ -35,12 +38,36 @@ pcb:        teleterra.sch project
 push:  
        git push --mirror
 
-zip:   teleterra.back.gbr teleterra.backmask.gbr teleterra.fab.gbr teleterra.front.gbr teleterra.frontmask.gbr teleterra.frontpaste.gbr teleterra.frontsilk.gbr teleterra.group2.gbr teleterra.group3.gbr teleterra.plated-drill.cnc
-       zip teleterra.zip *.gbr *.cnc
+teleterra.xy:  teleterra.pcb
+       pcb -x bom teleterra.pcb
+
+teleterra.bottom.gbr:  teleterra.pcb
+       pcb -x gerber teleterra.pcb
+
+zip:   teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.fab.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.toppaste.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc teleterra.xy  Makefile # teleterra.xls
+       zip teleterra.zip teleterra.*.gbr teleterra.*.cnc teleterra.xy # teleterra.xls
+
+oshpark: teleterra.bottom.gbr teleterra.bottommask.gbr teleterra.top.gbr teleterra.topmask.gbr teleterra.topsilk.gbr teleterra.plated-drill.cnc
+       mv teleterra.bottom.gbr bottom\ layer.ger
+       mv teleterra.bottommask.gbr bottom\ solder\ mask.ger
+       mv teleterra.bottomsilk.gbr bottom\ silk\ screen.ger
+       mv teleterra.outline.gbr board\ outline.ger
+       mv teleterra.top.gbr top\ layer.ger
+       mv teleterra.topmask.gbr top\ solder\ mask.ger
+       mv teleterra.topsilk.gbr top\ silk\ screen.ger
+       mv teleterra.plated-drill.cnc drills.xln
+       zip teleterra-oshpark.zip *.ger *.xln
+
+stencil:       teleterra.bottom.gbr teleterra.toppaste.gbr teleterra.outline.gbr
+       zip teleterra-stencil.zip teleterra.toppaste.gbr teleterra.outline.gbr
 
 clean:
        rm -f *.bom *.drc *.log *~ teleterra.ps *.gbr *.cnc *bak* *- *.zip 
-       rm -f *.net *.xy *.cmd *.png
-       rm -f *.partslist *.new.pcb *.unsorted
-       rm -f *.hex *.cod *.lst
+       rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
+       rm -f *.partslist *.new.pcb *.unsorted teleterra.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