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
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