Das Programm make

make ist ein Programm, das bereits seit weit über 25 Jahren verfügbar ist. Seine Stärken spielt es in besonderem Maße bei komplexen oder sehr komplexen Programmen aus. Der vollständige Prozess beispielsweise beim Kompilieren des Linux-Kernels kann durchaus mehrere Stunden dauern. Bei modernen PCs konnte die Zeit zwar drastisch verringert werden; es ist aber dennoch ärgerlich, wenn aufgrund einer kleinen Änderung in einer der vielen Dateien sämtliche Dateien neu kompiliert werden müssen.

make löst dieses Problem durch ein sogenanntes Makefile, das  Abhängigkeiten zwischen verschiedenen Dateien eines Projekts auflöst. Die Abhängigkeiten werden als Ziele (sogenannte Targets) definiert, an denen sich make bis zur Lösung "entlanghangelt". Anhand von Zeitstempeln und Dateigrößen erkennt make, an welchen Dateien Änderungen durchgeführt wurden, und übersetzt nur diese Dateien sowie die hiervon abhängigen Dateien neu: Alle anderen Dateien bleiben im alten Zustand erhalten.

Es ist nicht ganz einfach, Makefiles zu schreiben, das Verständnis des Konzepts unter Berücksichtigung einiger Regeln erleichtert die Sache aber enorm.

Inhalt folgt...