NAMES := Chaosknoten GNETLIST := gnetlist GSCHEM := gschem PCB := pcb PS2PDF := ps2pdf SUFFIXES := .PHONY: all nets pdfs gbrs tidy clean .SUFFIXES: .SECONDARY: all: nets pdfs gbrs tidy nets: $(addsuffix .net,$(NAMES)) pdfs: $(addsuffix .sch.pdf,$(NAMES)) $(addsuffix .pcb.pdf,$(NAMES)) gbrs: $(addsuffix .gerber.zip,$(NAMES)) %.net: %.sch $(GNETLIST) -q -g PCB -o $@ $< %.sch.ps: %.sch gschem-print.scm $(GSCHEM) -p -s gschem-print.scm -o $@ $< %.pcb.ps: %.pcb $(PCB) -x ps --psfile $@ --media A4 --ps-color --fill-page $< %.pdf: %.ps $(PS2PDF) $< $@ %.gerber.zip: %.pcb rm -rf $*.gerber $@ mkdir -p $*.gerber/tmp $(PCB) -x gerber --gerberfile $*.gerber/$* $< { head -n $$(grep -n Via $< | head -n 1 | cut -d ':' -f 1) $<; \ tail -n +$$(grep -n Layer $< | head -n 1 | cut -d ':' -f 1) $<; } \ | sed 's/ 6.00mil / 1.00mil /g' > $*.gerber/tmp/$< $(PCB) -x gerber --gerberfile $*.gerber/tmp/$* $*.gerber/tmp/$< mv $*.gerber/tmp/$*.group7.gbr $*.gerber/$*.milling.gbr rm $(foreach X,group7,$*.gerber/$*.$X.gbr) rm -rf $*.gerber/tmp zip -r $@ $*.gerber tidy: rm -f *~ *- *.log *.ps clean: tidy rm -rf *.net *.pdf *.gerber *.gerber.zip