Makefile: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
=Variablen= | |||
I Man kann Variablen in Makefiles definieren: | |||
<syntaxhighlight lang="makefile"> | |||
CC = gcc | |||
CC_OPTS = -O2 -Wall -Wextra -std=c11 | |||
HEADERS = header1.h header2.h | |||
I Und dann benutzen: | |||
<syntaxhighlight lang="makefile"> | |||
main.o: main.c $(HEADERS) | |||
$(CC) $(CC_OPTS) -c main.c | |||
</syntaxhighlight> | |||
=Automatische Variablen= | =Automatische Variablen= | ||
*$@ Name das Ziels | *$@ Name das Ziels | ||
| Zeile 10: | Zeile 23: | ||
$(CC) $(CC_OPTS) -c $ | $(CC) $(CC_OPTS) -c $ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Version vom 6. Mai 2022, 10:06 Uhr
Variablen
I Man kann Variablen in Makefiles definieren:
CC = gcc
CC_OPTS = -O2 -Wall -Wextra -std=c11
HEADERS = header1.h header2.h
I Und dann benutzen:
<syntaxhighlight lang="makefile">
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 $