Make
Zur Navigation springen
Zur Suche springen
Was ist make
- Make ist ein Build-Management-Tool, das in der Softwareentwicklung weit verbreitet ist.
- Es wird verwendet, um die Kompilierung und den Build-Prozess von Softwareprojekten zu automatisieren.
- Make basiert auf dem Konzept der Makefiles, in denen die Abhängigkeiten zwischen den Quellcode-Dateien und den Build-Zielen definiert werden.
Makefile
- Ein Makefile ist eine Textdatei, die die Regeln und Befehle für den Build-Prozess enthält.
Abschnitten
Variablendefinitionen
- Hier werden Variablen definiert, die im Makefile verwendet werden, um Werte wie Compiler-Flags, Verzeichnispfade oder Versionsnummern festzulegen.
- Variablen können später im Makefile referenziert und geändert werden.
Zieldefinitionen
- Ziele sind die Ausgabedateien oder Aktionen, die im Build-Prozess erreicht werden sollen.
- Jedes Ziel hat Abhängigkeiten, die angeben, welche Dateien oder Aktionen vor dem Erreichen des Ziels ausgeführt werden müssen.
Regeldefinitionen
- Regeln definieren die Schritte, die erforderlich sind, um ein Ziel zu erstellen.
- Eine Regel besteht aus einem Ziel, Abhängigkeiten und einer oder mehreren Aktionen, die ausgeführt werden, um das Ziel zu erzeugen.
Ein einfaches Beispiel
# Variablendefinitionen CC = gcc CFLAGS = -Wall -O2 # Zieldefinitionen all: hello # Regeldefinitionen hello: main.o hello.o $(CC) $(CFLAGS) -o $@ $^ main.o: main.c $(CC) $(CFLAGS) -c $< hello.o: hello.c $(CC) $(CFLAGS) -c $< clean: rm -f *.o hello
- In diesem Beispiel gibt es drei Ziele: "all", "hello" und "clean".
- Das Ziel "all" ist das Standardziel und wird ausgeführt, wenn kein spezifisches Ziel angegeben wird.
- Das Ziel "hello" hat die Abhängigkeiten "main.o" und "hello.o" und wird mit den entsprechenden Regelaktionen erstellt.
- Das Ziel "clean" wird verwendet, um alle generierten Dateien zu löschen.
Aufruf
- make all
- make clean
- make hello