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]; }