Use $(PROJECT) instead of teleterra in Makefile
authorKeith Packard <keithp@keithp.com>
Tue, 15 Jan 2013 21:56:58 +0000 (13:56 -0800)
committerKeith Packard <keithp@keithp.com>
Tue, 15 Jan 2013 21:56:58 +0000 (13:56 -0800)
This makes it easy to cut&paste Makefile fragments between projects.

Maybe someday we'll have a 'canonical' Makefile?

Signed-off-by: Keith Packard <keithp@keithp.com>
Makefile

index c50b8049753e03553243e770ceb4f2681895dfe6..829d7c485909c5edfc8fee58864e2a2847300fc9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,27 +8,26 @@ all:  hw
 
 hw:    drc partslist partslist.csv partslist.dk partslist.mouser
 
-drc:   teleterra.sch
-       gnetlist -L $(SCHEME) -g drc2 teleterra.sch -o teleterra.drc
+drc:   $(PROJECT).sch
+       gnetlist -L $(SCHEME) -g drc2 $(PROJECT).sch -o $(PROJECT).drc
 
-partslist:     teleterra.sch
-       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:     $(PROJECT).sch
+       gnetlist -L $(SCHEME) -g bom -o $(PROJECT).tabtmp $(PROJECT).sch
+       (head -n1 $(PROJECT).tabtmp; tail -n+2 $(PROJECT).tabtmp | sort) | nickle $(NICKLE)/retab > $@ && rm -f $(PROJECT).tabtmp
 
-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
+partslist.csv: $(PROJECT).sch Makefile
+       gnetlist -L $(SCHEME) -g partslistgag -o $(PROJECT).unsorted $(PROJECT).sch
+       head -n1 $(PROJECT).unsorted > partslist.csv
+       tail -n+2 $(PROJECT).unsorted | sort -t \, -k 8 >> partslist.csv
+       rm -f $(PROJECT).unsorted
 
-partslist.dk:  teleterra.sch Makefile scheme/gnet-partslist-bom.scm
-       gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ teleterra.sch
+partslist.dk:  $(PROJECT).sch Makefile scheme/gnet-partslist-bom.scm
+       gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
 
-partslist.mouser:      teleterra.sch Makefile scheme/gnet-partslist-bom.scm
-       gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ teleterra.sch
+partslist.mouser:      $(PROJECT).sch Makefile scheme/gnet-partslist-bom.scm
+       gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=mouser -o $@ $(PROJECT).sch
 
-pcb:   teleterra.sch project
+pcb:   $(PROJECT).sch project
        gsch2pcb project
 
 # note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
@@ -46,31 +45,31 @@ pcb:        teleterra.sch project
 push:  
        git push --mirror
 
-teleterra.xy:  teleterra.pcb
-       pcb -x bom teleterra.pcb
+$(PROJECT).xy: $(PROJECT).pcb
+       pcb -x bom $(PROJECT).pcb
 
-teleterra.bottom.gbr:  teleterra.pcb
-       pcb -x gerber teleterra.pcb
+$(PROJECT).bottom.gbr: $(PROJECT).pcb
+       pcb -x gerber $(PROJECT).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
+zip:   $(PROJECT).bottom.gbr $(PROJECT).bottommask.gbr $(PROJECT).fab.gbr $(PROJECT).top.gbr $(PROJECT).topmask.gbr $(PROJECT).toppaste.gbr $(PROJECT).topsilk.gbr $(PROJECT).plated-drill.cnc
+       zip $(PROJECT).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
+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
+       zip $(PROJECT)-oshpark.zip *.ger *.xln
 
-stencil:       teleterra.bottom.gbr teleterra.toppaste.gbr teleterra.outline.gbr
-       zip teleterra-stencil.zip teleterra.toppaste.gbr teleterra.outline.gbr
+stencil:       $(PROJECT).bottom.gbr $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
+       zip $(PROJECT)-stencil.zip $(PROJECT).toppaste.gbr $(PROJECT).outline.gbr
 
 clean:
-       rm -f *.bom *.drc *.log *~ teleterra.ps *.gbr *.cnc *bak* *- *.zip 
+       rm -f *.bom *.drc *.log *~ $(PROJECT).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