move to use of shared symbol library
[hw/teleterra] / Makefile
index 05b807d40d0bbb6d6c6a29bb494e846b636dbfa4..ffd17a74ce0b31f612b5132a1c3b485b43a0b1df 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,37 @@
+PROJECT=teleterra
+
 # intentionally want to rebuild drc and bom on every invocation
-all:   drc bom
+all:   hw
+
+hw:    drc partslist partslist.csv partslist.dk partslist.mouser
+
+CC=            sdcc
+CFLAGS=                -mpic14 -p16f886
+LDFLAGS=       
+
+drc:   teleterra.sch
+       -gnetlist -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
 
-drc:   telemetrum.sch
-       -gnetlist -g drc2 telemetrum.sch -o telemetrum.drc
+partslist.csv: teleterra.sch Makefile
+       gnetlist -L ../altusmetrum/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
 
-bom:   telemetrum.sch
-       gnetlist -g bom -o telemetrum.unsorted telemetrum.sch
-       head -n1 telemetrum.unsorted > telemetrum.bom
-       tail -n+2 telemetrum.unsorted | sort >> telemetrum.bom
-       rm -f telemetrum.unsorted
+partslist.dk:  $(PROJECT).sch Makefile 
+       gnetlist -L ../altusmetrum/scheme -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
 
-pcb:   telemetrum.sch project
+partslist.mouser:      $(PROJECT).sch Makefile
+       gnetlist -L ../altusmetrum/scheme -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch
+
+pcb:   teleterra.sch project
        gsch2pcb project
 
 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
@@ -28,11 +49,33 @@ pcb:        telemetrum.sch project
 push:  
        git push --mirror
 
-zip:   telemetrum.back.gbr telemetrum.backmask.gbr telemetrum.fab.gbr telemetrum.front.gbr telemetrum.frontmask.gbr telemetrum.frontpaste.gbr telemetrum.frontsilk.gbr telemetrum.group2.gbr telemetrum.group3.gbr telemetrum.plated-drill.cnc
-       zip telemetrum.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
+       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 *~ telemetrum.ps *.gbr *.cnc *bak* *- *.zip 
-       rm -f *.net *.xy *.cmd *.png
+       rm -f *.bom *.drc *.log *~ teleterra.ps *.gbr *.cnc *bak* *- *.zip 
+       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 *.dk *.mouser