Variablennamen dürfen alle Zeichen außer : # = und whitespace
enthalten, man sollte sich aber auf Buchstaben, Zahlen und _
beschränken.
Groß- und Kleinschreibung wird unterschieden. Variablen bestehen oft
nur aus Großbuchstaben.
Variablen werden über VARIABLE = Wert definiert. Bei der Definition
findet keine Ersetzung von Wildcards statt, benötigt man diese, so
muß man objects := $(wildcard *.o)
verwenden.
Verwenden kann man die Vaiable mit $(VARIABLE)
, bei
einbuchstabigen Variablen kann man sich die Klammern schenken.
Oft findet man:
CC = g++
CFLAGS = -O -Wall -g
Auch Umgebungsvariablen wie PATH tauchen als $(PATH) auf. Alle bekannten Variablen bekommt man mit make -p angezeigt.
Variablen können von der Kommandozeile beim Aufruf überschrieben
werden
make "CFLAGS = -O3 -Wunused"
.TARGET
gibt das gegenwärtige Ziel
.SOURCE
die gegenwärtige Quelle
@
die Datei die erzeugt werden soll
?
die veränderten PREREQUESITES
^
alle PREREQUESITES
Man kann Modifier verwenden wie $(VARIABLE, from=to)
, was
from
durch to
im Variablenwert ersetzt.