Make

Es gibt verschiedene Dateien, die voneinander abhängen.
Die Abhängigkeiten werden in Makefiles spezifiziert.
make prüft diese und lässt die neu bauen, dieren Quellen/Zwischenprodukte sich gändert haben.

Bemerkung: Das tolle ist, daß make die Inhalte gar nicht interessiert, somit Programmiersprachenunabhängig ist und somit Universell verwendbar.
Manche Sprachen wie Ada haben aber spezielle Tools wie gnatmake die noch genauer inhaltsbezogen die Abhänigkeiten analysieren.
Das Argument für make ist: Wer sagt denn, dass man nur eine Sprache hat - es kann ja auch diverse Präprozessoren und Generatoren (Domain Specific Languages!) geben.

Manual GNU Make

Tricks

Erzeugung der Abhängigkeiten

Viele C/C++-Compiler bieten eine Option -M/-MM an, die diese erzeugen.

Meinungen zu Politiken

Peter Miller hällt rekursive makefiles für gefährlich
Andererseits möchte man ein Verzeichnis aus strukturierungseinhalt für ein Modul/Komponente/Teilsystem haben und dieses seperat compilieren können