von ratte » Do 3. Dez 2009, 07:37
all: name1.pdf name2.pdf name3.pdf
name1.pdf: name1.tex name1.bib
pdflatex name1.tex
bibtex name1.aux
pdflatex name1.tex
pdflatex name1.tex
# und entsprechend für name2.pdf und name3.pdf
Damit sollte name1.pdf nur genau dann neu erstellt werden, wenn sich name1.tex oder name1.bib geändert haben. Wichtig ist, dass links vom Doppelpunkt wirklich der Zieldateinamen steht, damit Make das Dateidatum davon mit dem Dateidatum jeder der Quelldateien rechts vom Doppelpunkt vergleichen kann. Wenn links ein
Phony steht, es also eine
phony rule ist, wird diese stattdessen immer ausgeführt.
Noch bequemer wird es, wenn man statt des direkten Aufrufs von pdflatex und bibtex ein Programm wie texify verwenden kann, das selbst herausfindet, wie oft pdflatex und Zusatzprogramme wie bibtex und makeindex aufzurufen sind. Man könnte das wohl auch selbst mit Prüfsummen über Hilfsdateien (aux, toc, lof, lot, bbl, idx, ...) erreichen. Aber ich für ein kleines Projekt lohnt sich der Aufwand nicht. Dann schon lieber etwas fertiges verwenden.
[code]
all: name1.pdf name2.pdf name3.pdf
name1.pdf: name1.tex name1.bib
pdflatex name1.tex
bibtex name1.aux
pdflatex name1.tex
pdflatex name1.tex
# und entsprechend für name2.pdf und name3.pdf
[/code]
Damit sollte name1.pdf nur genau dann neu erstellt werden, wenn sich name1.tex oder name1.bib geändert haben. Wichtig ist, dass links vom Doppelpunkt wirklich der Zieldateinamen steht, damit Make das Dateidatum davon mit dem Dateidatum jeder der Quelldateien rechts vom Doppelpunkt vergleichen kann. Wenn links ein [i]Phony[/i] steht, es also eine [i]phony rule[/i] ist, wird diese stattdessen immer ausgeführt.
Noch bequemer wird es, wenn man statt des direkten Aufrufs von pdflatex und bibtex ein Programm wie texify verwenden kann, das selbst herausfindet, wie oft pdflatex und Zusatzprogramme wie bibtex und makeindex aufzurufen sind. Man könnte das wohl auch selbst mit Prüfsummen über Hilfsdateien (aux, toc, lof, lot, bbl, idx, ...) erreichen. Aber ich für ein kleines Projekt lohnt sich der Aufwand nicht. Dann schon lieber etwas fertiges verwenden.