Anwendungen von make

Prinzipiell ist die Anwendung von make nicht auf Kompilieren und Linken beschränkt. Von den bereits eingebauten Makrodefinitionen und einigen impliziten Regeln abgesehen, weiß make eigentlich gar nichts über den Sinn der aufgerufenen Kommandos.

Vielmehr ist make ein sehr universelles Werkzeug, mit dessen Hilfe man alle Dateien, die durch irgendwelche Programmläufe aus anderen Dateien entstehen, aktualisieren kann.

Das Erstellen von Programmen ist sicher ein häufiger Anwendungsfall, aber beileibe nicht der einzige.

Die vorliegende Dokumentation beispielsweise ist mit einem üblichen Editor geschrieben (keiner Textverarbeitung), und wird durch Aufrufe der Programme TEX/LATEX, dvips, LATEX2HTML (und weiteren) verarbeitet. Auch hier wird make sinnvollerweise eingesetzt. Die Vorgehensweise ist prinzipiell dem beschriebenen Programmbeispiel sehr ähnlich. Nach einer Änderung der manuell geschriebenen Eingabedateien kann man mit einem make-Aufruf die druckbare Postscriptdatei oder die HTML-Dateien neu erzeugen lassen.

Besseres Beispiel! Tatsächlich wird auch in diesem makefile wieder kompiliert und gelinkt, nämlich die Beispielprogramme. Wenn sich an den Beispielquelltexten etwas ändert, dann wird durch Regeln der folgenden Art:
intarr: intarr.cpp

intarr.aus: intarr
- ./intarr >intarr.aus 2>&1
die zugehörige Beispielausgabe aktualisiert, und als Datei intarr.aus wieder in die Dokumentation eingebunden, in diesem Beispiel für das Programm intarr (siehe Überladen von Operatoren).

Weitere potentielle Anwendungen von make sind automatisches Aktualisieren von Konfigurationsdateien in der Systemverwaltung, fallgesteuertes Backup von Daten, Abgleichen von gespiegelten Daten, und viele weitere.

AnyWare@Wachtler.de