Makefile: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 3: | Zeile 3: | ||
wird kein Ziel angegeben wird automatisch das erste in der | wird kein Ziel angegeben wird automatisch das erste in der | ||
Makefile benutzt | Makefile benutzt | ||
| − | *Dateinamen | + | *Dateinamen für Makefile sind |
| − | GNUmakefile | + | **makefile |
| − | *make -j N erlaubt N Jobs gleichzeitig | + | **Makefile |
| − | + | **GNUmakefile | |
| + | *make -j N erlaubt N Jobs gleichzeitig | ||
==Variablen== | ==Variablen== | ||
Version vom 6. Mai 2022, 08:09 Uhr
Makefiles
- Der Befehl make Ziel versucht die Datei Ziel zu erstellen,
wird kein Ziel angegeben wird automatisch das erste in der Makefile benutzt
- Dateinamen für Makefile sind
- makefile
- Makefile
- GNUmakefile
- make -j N erlaubt N Jobs gleichzeitig
Variablen
- Man kann Variablen in Makefiles definieren:
CC = gcc
CC_OPTS = -O2 -Wall -Wextra -std=c11
HEADERS = header1.h header2.h
- Und dann benutzen:
main.o: main.c $(HEADERS)
$(CC) $(CC_OPTS) -c main.c
Automatische Variablen
- $@ Name das Ziels
- $^ Name aller Voraussetzungen, getrennt durch Leerzeichen
- $< ist die erste Voraussetzung
Beispiele:
hello: main.o helper.o
$(CC) $(CC_OPTS) $^ -o $@
main.o: main.c $(HEADERS)
$(CC) $(CC_OPTS) -c $