Switch to gnetlist -L. Use shared altusmetrum/scheme files
[hw/teleterra] / Makefile
index 9611fb086599720202d42f4119e7b1e2d2de33f6..c50b8049753e03553243e770ceb4f2681895dfe6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,27 +1,33 @@
+PROJECT=teleterra
+AM=../altusmetrum
+SCHEME=$(AM)/scheme
+NICKLE=$(AM)/nickle
+
 # intentionally want to rebuild drc and bom on every invocation
 all:   hw
 
-hw:    drc partslist partslist.csv
-
-CC=            sdcc
-CFLAGS=                -mpic14 -p16f886
-LDFLAGS=       
+hw:    drc partslist partslist.csv partslist.dk partslist.mouser
 
 drc:   teleterra.sch
-       -gnetlist -g drc2 teleterra.sch -o teleterra.drc
+       gnetlist -L $(SCHEME) -g drc2 teleterra.sch -o teleterra.drc
 
 partslist:     teleterra.sch
-       gnetlist -g bom -o teleterra.unsorted teleterra.sch
-       head -n1 teleterra.unsorted > partslist
-       tail -n+2 teleterra.unsorted | sort >> partslist
-       rm -f teleterra.unsorted
+       gnetlist -L $(SCHEME) -g bom -o teleterra.unsorted teleterra.sch
+       (head -n1 teleterra.unsorted; tail -n+2 teleterra.unsorted | sort) | nickle $(NICKLE)/retab > $@ && rm -f teleterra.unsorted
 
 partslist.csv: teleterra.sch Makefile
-       gnetlist -g partslist4 -o teleterra.unsorted teleterra.sch
+       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
 
+partslist.dk:  teleterra.sch Makefile scheme/gnet-partslist-bom.scm
+       gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ teleterra.sch
+
+partslist.mouser:      teleterra.sch Makefile scheme/gnet-partslist-bom.scm
+       gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ teleterra.sch
+
 pcb:   teleterra.sch project
        gsch2pcb project
 
@@ -49,9 +55,24 @@ teleterra.bottom.gbr:        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
        zip teleterra.zip *.gbr *.cnc
 
+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 partslist
+       rm -f *.net *.xy *.cmd *.png partslist partslist.csv
        rm -f *.partslist *.new.pcb *.unsorted
        rm -f *.hex *.cod *.lst *.ps *.o *.asm
+       rm -f *.ger *.xln