SHELL = /bin/bash

generated_img_dir=img/generated

tikz_files := $(filter-out img-src/_%,$(wildcard img-src/*.tikz))

tikz_pngs := $(addprefix $(generated_img_dir)/,$(addsuffix .png,$(notdir $(basename $(tikz_files)))))

.PHONY: clean docs pngs

clean:
	shopt -s nullglob; \
	rm -f build.tex *.aux *.log *.gz *.pdf *.ps *.dvi *.out *.fls *.fdb_latexmk \
		img-src/*.aux img-src/*.log img-src/*.gz img-src/*.pdf img-src/*.ps \
		img-src/*.dvi img-src/*.out img-src/*.fls img-src/*.fdb_latexmk; \
	rm -rf img/generated

$(tikz_pngs): img/generated/%.png: img-src/%.tikz
	bash scripts/generate-pngs.sh /tmp/png-generate img/generated $< $(basename $(*F))

pngs: $(tikz_pngs)

build.tex: $(tikz_files)
	bash scripts/generate-tex.sh $^

build.pdf: build.tex
	pdflatex -halt-on-error build.tex; \
	pdflatex -halt-on-error build.tex

docs: build.pdf pngs