.NOTPARALLEL:  gen/fab/fiatlux-F_Cu.gbr gen/fab/fiatlux-B_Cu.gbr gen/fab/fiatlux-F_Mask.gbr gen/fab/fiatlux-B_Mask.gbr  gen/fab/fiatlux-F_Paste.gbr gen/fab/fiatlux-B_Paste.gbr gen/fab/fiatlux-F_SilkS.gbr gen/fab/fiatlux-B_SilkS.gbr

all: test fab doc pcb.zip

pcb.zip: fab doc
	@mkdir -p gen
	@cd gen; zip -r ../pcb.zip fab.zip fiatlux.csv fiatlux-top-pos.csv fiatlux-front.svg fiatlux-back.svg fiatlux.pdf
	@cd gen; zip -r ../debug.zip .

test: gen/fiatlux-drc.txt gen/fiatlux-erc.txt

doc: gen/fiatlux.pdf gen/fiatlux-front.svg gen/fiatlux-back.svg

fab: test gen/fab.zip gen/fiatlux.csv gen/fiatlux-top-pos.csv

gen/fab.zip: gen/fab/fiatlux-F_Cu.gbr gen/fab/fiatlux-B_Cu.gbr gen/fab/fiatlux-F_Mask.gbr gen/fab/fiatlux-B_Mask.gbr
gen/fab.zip: gen/fab/fiatlux-F_Paste.gbr gen/fab/fiatlux-B_Paste.gbr gen/fab/fiatlux-F_SilkS.gbr gen/fab/fiatlux-B_SilkS.gbr
	@mkdir -p gen/fab
	@cd gen/fab; zip -r ../fab.zip *.gbr

gen/fiatlux-erc.txt:  fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb
	@mkdir -p gen
	kibot -d gen -c fiatlux.kiplot.yaml -s update_xml,run_drc -i

gen/fiatlux-drc.txt:  fiatlux.kiplot.yaml fiatlux.pro fiatlux.sch
	@mkdir -p gen
	kibot -d gen -c fiatlux.kiplot.yaml -s update_xml,run_erc -i

gen/fab/%.gbr: fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb
	@mkdir -p gen
	kibot -d gen -c fiatlux.kiplot.yaml -s all print_front gerbers

gen/fiatlux-top-pos.csv: fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb
	@mkdir -p gen
	kibot -d gen -c fiatlux.kiplot.yaml -s all print_front position

gen/fiatlux.csv: fiatlux.kiplot.yaml fiatlux.pro fiatlux.kicad_pcb
	@mkdir -p gen
	kibot -d gen -c fiatlux.kiplot.yaml -s all print_front bom

gen/fiatlux.pdf: fiatlux.kiplot.yaml fiatlux.pro fiatlux.sch
	@mkdir -p gen
	kibot -d gen -c fiatlux.kiplot.yaml -s run_drc,run_erc print_sch

gen/fiatlux-front.svg: fiatlux.kicad_pcb
	@mkdir -p gen
	pcbdraw --libs default $< $@

gen/fiatlux-back.svg: fiatlux.kicad_pcb
	@mkdir -p gen
	pcbdraw --libs default --back $< $@

clean:
	@rm -rf gen