rules.mk 785 B

123456789101112131415161718192021222324252627282930
  1. REPORT := report
  2. DIAGRAMS := data/diagrams
  3. LATEX = TEXINPUTS=$(d):$(b): pdflatex -halt-on-error -interaction=nonstopmode \
  4. -output-directory $(@D) -shell-escape
  5. REF_WARNING := "Rerun to get cross-references right"
  6. .PHONY: docs bibclean
  7. docs: $(b)$(REPORT).pdf $(b)proposal.pdf $(b)presentation.pdf \
  8. $(b)final_presentation.pdf
  9. $(b)%.pdf: $(d)%.tex
  10. mkdir -p $(@D)
  11. $(LATEX) $^
  12. @while grep $(REF_WARNING) $(@:.pdf=.log) > /dev/null; do \
  13. echo "** Rerunning pdflatex for cross-references **"; \
  14. $(LATEX) $^; \
  15. done
  16. $(b)$(REPORT).pdf: $(d)$(DIAGRAMS).tex $(b)$(REPORT).bbl
  17. $(b)$(REPORT).bbl: $(d)$(REPORT).bib
  18. mkdir -p $(@D)
  19. $(LATEX) $(^:.bib=.tex)
  20. BIBINPUTS=$(d) bibtex8 $(@:.bbl=.aux)
  21. $(LATEX) $(^:.bib=.tex)
  22. $(LATEX) $(^:.bib=.tex)
  23. bibclean:
  24. rm -f $(d)report.bib~*