Kurzübersicht Makfiles

Bearbeiten

Makefiles sind Steuerdateien zum erstellen von Programmen. Bei großen Projekten werden Makefiles sehr schnell unübersichtlich und Makefiles sind zudem nicht komplett plattformunabhängig.

Makefiles bestehen aus so genannten Targets. Ein Target ist ein

myProg : main.o foo.o
   g++ -o myProg main.o foo.o

main.o : main.cpp
    g++ -c main.cpp

foo.o : foo.cpp
   g++ -c foo.cpp

Dies ist ein Beispeil-Makefile, das ein Programm (myProg) aus den beiden C++ Quelltext-Dateien main.cpp und foo.cpp erstellt. myProg hängt von main.o und foo.o ab. Existiert keine dieser Dateien beim Erstellen von myProg werden die entsprechenden Targets aufgerufen.

Ein weiterer Vorteil bei Make ist, dass Targets nur neu erstellt werden, wenn die Abhängigkeiten neuer sind als das Target. Ändern wir in dem obigen Beispiel die Datei foo.cpp und wollen myProg neu kompilieren wird nur foo.o neu kompiliert und mit dem schon bestehenden main.o gelinkt.

CMaake ist ein Programm zum automatischen Erstellen dieser Makefiles und ähnlicher Konzepte wie Projektdateien für Visual Studio etc.

1. Projekt mit CMake

Bearbeiten

http://www.cmake.org/