PROJECT = facharbeit PROJECT_SOURCE = $(PROJECT).tex DRAFT_SOURCE = $(PROJECT)-draft.tex PDFLATEX = pdflatex TEXFILES = $(wildcard *.tex) GENERATED = $(wildcard *.log *.toc *.aux *.out) DOCUMENT = $(PROJECT).pdf RM = rm -rf # there is a slight bug, that $(DOCUMENT) is not re-generated when the last # command was to build a draft. Maybe using stamps could help? $(DOCUMENT): $(TEXFILES) # single run to create text, run TOC and reference scans $(PDFLATEX) $(PROJECT_SOURCE) # second run to add TOCs & references $(PDFLATEX) $(PROJECT_SOURCE) draft: $(TEXFILES) $(PDFLATEX) -jobname $(PROJECT) $(DRAFT_SOURCE) clean: $(RM) $(GENERATED) distclean: clean $(RM) $(DOCUMENT)