rules.mk 925 B

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