Gekonnt delegiert
Mit Make komplexe Aufgaben effizient bearbeiten
Make bei der Arbeit
Für den Einsatz des so entwicklten Makefiles existieren nun verschiedene Möglichkeiten. Rufen Sie einfach nur make ohne weitere Parameter auf, arbeitet Make lediglich das erste Ziel ab, erstellt also eine DVI-Datei, falls Sie eine oder mehrere der Tex-Dateien verändert haben. Alternativ übergeben Sie Make beim Aufruf ein anderes Ziel, wie zum Beispiel make backup um lediglich die Sicherungskopie oder make buch.pdf um das PDF-Dokument zu erstellen.
Noch einmal zur Erinnerung: Make erstellt das PDF aus der Postscript-Datei mit dem Kommando ps2pdf, die Postscript-Datei wiederum aus dem DVI-File generiert und dieses ist das erste Ziel des Makefiles. Hat sich also auf dem Weg zur Postscript-Datei etwas verändert, arbeitet Make alle Ziele von oben nach unten ab (Abbildung 1). Gibt es nichts zu tun, informiert Sie Make auch darüber:
make: `buch.pdf' is up to date.
Eine Frage der Optionen
Make bringt noch einige weitere Aufrufparameter mit. Trägt die Steuerdatei beispielsweise einen Namen, den das Programm nicht als Makefile identifiziert, übergeben Sie die Datei mit den Arbeitsanweisungen über den Parameter -f:
make -f Steuerdatei
Ebenso ist es möglich, das Arbeitsverzeichnis explizit zu benennen. Halten Sie sich an einem anderen Ort im Dateisystem auf, geben Sie über den Parameter -C an, wo Make seinen Dienst verrichtet:
$ make -C ~/buch make: Entering directory `/home/↩ huhn/buch' latex buch … make: Leaving directory `/home/h↩ uhn/buch'
Hat sich an den Quelldateien nichts verändert und Sie wollen dennoch Make zur Zusammenarbeit überreden, "zwingen" Sie das Tool über die Option -B zur Arbeit:
$ make -B buch.pdf latex buch … Transcript written on buch.log. dvips -q -o buch.ps buch ps2pdf buch.ps buch.pdf
Möchten Sie gerne wissen, was hinter den Kulissen abläuft, weisen Sie Make über die Option -d (debug) an, sehr ausführlich zu berichten (Abbildung 2). Damit die Ausgabe nicht aus dem Terminalfenster herausscrollt, leiten Sie sie am besten an einen Pager, wie Less oder More weiter:
make -d | less



