Ein sogenanntes Makefile ist elementarer Bestandteil des sogenannten Installationsdreisatz unter Linux. In der Datei Makefile stehen eine Reihe von Befehle, die ausgeführt werden müssen, damit ein komplettes Projekt/Programm einwandfrei kompiliert? werden kann.
Dabei beschränken sich die meisten dieser Befehle auf die Einstellung von Umgebungsvariablen und vor allem Compileraufrufe (mit Übergabe der entsprechend benötigten Parametern an den Compiler). Das Makefile wird in den meisten Fällen individuell vom configure-Script erstellt, das heißt es ist oft nicht von Anfang an im Quellcodeverzeichnis zu finden.
Die Abarbeitung eines Makefiles erfolgt durch das UNIX-Programm make. Make ohne Parameter bewirkt im allerhäufigsten Fall das Kompilieren eines kompletten Softwareprojekts, welches in Quellcodeform vorliegt (Die Langform dafür wäre: make all).
Je nach Aufbau des Makefiles unterstütz make noch andere Kommandos (Targets genannt), solche wären typischerweise:
make
install
Kopiert die soeben im aktuellen Arbeitsverzeichnis kompilierten Programme und sämtliche zugehörigen Dateien (Konfigurationsdateien,
Manual-Pages?, usw.) an die richtigen Stellen im System. (Fast immer vorhanden)
make
clean
Bereits kompilierte Pakete wieder löschen, damit ein neuer Kompiliervorgang gestartet werden kann. (Fast immer vorhanden).
make
distclean
Bereits kompilierte Pakete und Konfigurationsdateien löschen. Bringt das Softwarepaket auf den "Auslieferungsstand" zurück. (Oft vorhanden)
make
uninstall
Umkehrung von make install. Versucht das aktuelle Programm wieder komplett aus dem System zu entfernen. Achtung: Kein Garant dafür, dass eine Anwendung restlos aus dem System verschwindet. Kann außerdem offene Abhängigkeiten im Unix-System hinterlassen. Ist deswegen mit Vorsicht zu genießen. (Nur manchmal vorhanden)
make
menuconfig
Öffnet bei gewissen Anwendungen eine (teilweise) grafische Oberfläche, die zur Konfiguration des entsprechenden Softwarepakets genutzt werden kann.
psyBNC und der
Linux-Kernel? bringen eine solche grafische Konfigurationsoberfläche mit, die durch make menuconfig aufgerufen werden kann. (Selten vorhanden)
Mehr Information zum Thema make und Makefiles erhält man auf jedem Unix-System durch eingabe der Befehle man make oder info make.