PROJECT=swdadapter
+AM=../altusmetrum
+SCHEME=$(AM)/scheme
# intentionally want to rebuild drc and bom on every invocation
-all: hw
+all: drc partslist partslist.csv pcb
-hw: drc partslist partslist.csv pcb
-
-drc: swdadapter.sch
+drc: swdadapter.sch Makefile
-gnetlist -g drc2 swdadapter.sch -o swdadapter.drc
-partslist: swdadapter.sch
+partslist: swdadapter.sch Makefile
gnetlist -g bom -o swdadapter.unsorted swdadapter.sch
head -n1 swdadapter.unsorted > partslist
tail -n+2 swdadapter.unsorted | sort >> partslist
rm -f swdadapter.unsorted
partslist.csv: swdadapter.sch Makefile
- gnetlist -L ../altusmetrum/scheme -g partslistgag \
+ gnetlist -L $(SCHEME) -g partslistgag \
-o swdadapter.unsorted swdadapter.sch
head -n1 swdadapter.unsorted > partslist.csv
tail -n+2 swdadapter.unsorted | sort -t \, -k 8 >> partslist.csv
rm -f swdadapter.unsorted
-pcb: swdadapter.sch project
+partslist.dk: $(PROJECT).sch Makefile $(SCHEME)/gnet-partslist-bom.scm
+ gnetlist -L $(SCHEME) -g partslist-bom -Ovendor=digikey -o $@ $(PROJECT).sch
+
+pcb: swdadapter.sch project Makefile
gsch2pcb project
+# note that 'gschlas -e foo.sch' will embed all symbols in the schematic, this
+# might be a really good idea for publishing designs to the web that others
+# might review? Like this example from DJ:
+#
+#web :
+# for i in channel.sch ethernet.sch power.sch mcu.sch; do \
+# cp $$i tmp.sch ; \
+# gschlas -e tmp.sch ; \
+# mv tmp.sch ${WEB}/$$i; \
+# done
+
+# this shoves local work out to the git.gag.com repository
+push:
+ git push --mirror
+
swdadapter.xy: swdadapter.pcb
pcb -x bom swdadapter.pcb
swdadapter.bottom.gbr: swdadapter.pcb
pcb -x gerber swdadapter.pcb
-zip: swdadapter.bottom.gbr swdadapter.bottommask.gbr swdadapter.fab.gbr swdadapter.top.gbr swdadapter.topmask.gbr swdadapter.topsilk.gbr swdadapter.plated-drill.cnc
- zip swdadapter.zip *.gbr *.cnc
+zip: swdadapter.bottom.gbr swdadapter.bottommask.gbr swdadapter.fab.gbr swdadapter.top.gbr swdadapter.topmask.gbr swdadapter.toppaste.gbr swdadapter.topsilk.gbr swdadapter.plated-drill.cnc swdadapter.xy Makefile # swdadapter.xls
+ zip swdadapter.zip swdadapter.*.gbr swdadapter.*.cnc swdadapter.xy # swdadapter.xls
-oshpark: swdadapter.bottom.gbr swdadapter.bottommask.gbr swdadapter.top.gbr swdadapter.topmask.gbr swdadapter.topsilk.gbr swdadapter.plated-drill.cnc
+oshpark: swdadapter.bottom.gbr swdadapter.bottommask.gbr swdadapter.top.gbr swdadapter.topmask.gbr swdadapter.plated-drill.cnc
mv swdadapter.bottom.gbr bottom\ layer.ger
mv swdadapter.bottommask.gbr bottom\ solder\ mask.ger
+ mv swdadapter.bottomsilk.gbr bottom\ silk\ screen.ger
mv swdadapter.outline.gbr board\ outline.ger
mv swdadapter.top.gbr top\ layer.ger
mv swdadapter.topmask.gbr top\ solder\ mask.ger
- mv swdadapter.topsilk.gbr top\ silk\ screen.ger
mv swdadapter.plated-drill.cnc drills.xln
zip swdadapter-oshpark.zip *.ger *.xln
+stencil: swdadapter.bottom.gbr swdadapter.toppaste.gbr swdadapter.outline.gbr
+ zip swdadapter-stencil.zip swdadapter.toppaste.gbr swdadapter.outline.gbr
+
clean:
rm -f *.bom *.drc *.log *~ swdadapter.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
+ rm -f *.net *.xy *.cmd *.png partslist partslist.csv *.ger *.xln
+ rm -f *.partslist *.new.pcb *.unsorted swdadapter.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