PROJECTNAME=$(basename $(wildcard *.tex)) FIGS=$(notdir $(wildcard figs/*.fig)) all: $(PROJECTNAME) $(PROJECTNAME): $(FIGS) $(PROJECTNAME).bbl pdflatex -file-line-error $@.tex pdflatex -file-line-error $@.tex pdflatex -synctex=1 $@.tex $(PROJECTNAME).aux: $(FIGS) pdflatex -file-line-error -draftmode $(PROJECTNAME).tex $(PROJECTNAME).synctex.gz: $(FIGS) pdflatex -synctex=1 $(patsubst %.synctex.gz, %.tex, $@) $(PROJECTNAME).bbl: $(PROJECTNAME).aux bibtex $(PROJECTNAME).aux figs: $(FIGS) $(FIGS): make -C figs/$@ for pdf in $$(find figs/$@/ -name '*.pdf'); do ln -fs "$$pdf" ./ ; done clean-aux: clean-figs-aux rm -f $(PROJECTNAME).aux rm -f $(PROJECTNAME).log rm -f $(PROJECTNAME).out rm -f $(PROJECTNAME).toc rm -f $(PROJECTNAME)Notes.bib clean-figs: $(foreach fig,$(addprefix figs/, $(FIGS)), make -C $(fig) clean; ) rm -f $(notdir $(wildcard figs/*.fig/*.pdf)) clean-figs-aux: $(foreach fig,$(addprefix figs/, $(FIGS)), make -C $(fig) clean-aux; ) clean-tex: rm -f $(PROJECTNAME).pdf $(PROJECTNAME).synctex.gz clean-bibliography: rm -f $(PROJECTNAME).bbl clean: clean-aux clean-tex clean-figs clean-bibliography