Copy Makefile from devboard
authorDan White <dan@whiteaudio.com>
Sat, 3 Mar 2012 19:29:45 +0000 (13:29 -0600)
committerDan White <dan@whiteaudio.com>
Sat, 3 Mar 2012 19:29:45 +0000 (13:29 -0600)
sch-pcb/usbio/Makefile

index 9873ac8098fbac0c149439b7948517b318abde4e..35f5943965b32dd558e79cb086956bbeee9b3c59 100644 (file)
@@ -1,7 +1,13 @@
 
 PROJ=usbio
 SCHEMATICS=$(wildcard $(PROJ)-*.sch)
+PDFS=$(SCHEMATICS:.sch=.pdf)
 
+default:
+       @echo "Select a target, please."
+
+.PHONY: pdf
+pdf: $(PROJ).pdf
 
 .PHONY: drc
 drc: $(PROJ).drc
@@ -11,16 +17,42 @@ sch:
        gschem $(SCHEMATICS) &
 
 
+#####################
+
+$(PROJ).pdf: $(PDFS)
+       pdftk $(PDFS) cat output $@
+
+
+update-footprints:
+       @#awk '/^Element/ {print $$2}' $(PROJ).pcb | sort -u | tr -d \" | awk '{printf "LoadFrom(ElementToBuffer, %s)\nUpdateFootprintsFromBuffer(auto)\n", $$1}' > fp-update.pcbscript
+       gnetlist -g pcbfwd -o $(PROJ).fpupdate $(SCHEMATICS) && \
+           perl -pi -e 's/(^ElementList\(Need.*)\)/\1,forceupdate)/' $(PROJ).fpupdate
+
+
 .PHONY: renum
 renum: $(SCHEMATICS)
-       refdes_renum --gentle --pgskip 100 $(SCHEMATICS)
+       refdes_renum --verbose --gentle --pgskip 100 \
+           $(SCHEMATICS) > $(PROJ).renum.log \
+           && (grep -v "^Scanning\|^Now" $(PROJ).renum.log || true) \
+           || cat $(PROJ).renum.log
 
 
 $(PROJ).drc: $(SCHEMATICS)
-       gnetlist -g drc2 -o $@ $^
-       grep ^ERROR $@ && mv $@ $@.err
+       gnetlist -g drc2 -o $@ $^ > /dev/null
+       @grep ^ERROR $@ && mv $@ $@.err; test $$? -eq 1 && rm -f $@.err
+
+
+%.ps: %.sch
+       gschem -p -o $@ -s $(GEDADATA)/scheme/print.scm $<
+
+
+%.pdf: %.ps
+       ps2pdf $< $@
 
 
 clean:
-       rm -f *sch~
+       rm -f *sch~ $(PROJ).drc{,err} $(PROJ).renum.log $(PDFS) $(PROJ).pdf
+
+squeaky: clean
+       git clean -f