X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=Makefile;h=c50b8049753e03553243e770ceb4f2681895dfe6;hb=654c2eae7f899b55c3d30e2e84d4cbdc720d4129;hp=16b16153450009b4dea753a98356c957ab2a2f62;hpb=cd34b27818256c0cacb301927c49f03746ccf47b;p=hw%2Fteleterra diff --git a/Makefile b/Makefile index 16b1615..c50b804 100644 --- a/Makefile +++ b/Makefile @@ -1,29 +1,33 @@ -# intentionally want to rebuild drc and bom on every invocation -all: hw sw - -hw: drc partslist - -sw: teleterra.hex +PROJECT=teleterra +AM=../altusmetrum +SCHEME=$(AM)/scheme +NICKLE=$(AM)/nickle -CC= sdcc -CFLAGS= -mpic14 -p16f886 -LDFLAGS= - -teleterra.o: teleterra.c - $(CC) -c $(CFLAGS) $< +# intentionally want to rebuild drc and bom on every invocation +all: hw -teleterra.hex: teleterra.o - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ teleterra.o +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 + 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 -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 @@ -42,12 +46,33 @@ 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 +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 *~ 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