Makefile: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 5: Zeile 5:
 
CC_OPTS = -O2 -Wall -Wextra -std=c11
 
CC_OPTS = -O2 -Wall -Wextra -std=c11
 
HEADERS = header1.h header2.h
 
HEADERS = header1.h header2.h
 +
</syntaxhighlight>
  
 
I Und dann benutzen:
 
I Und dann benutzen:

Version vom 6. Mai 2022, 08: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:

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 $