: = (Simply Expanded Variable) Der Wert wird ein für alle mal expandiert
Verweise auf andere Variablen und Funktionen, wenn Variable definiert ist. z.B.
x:=foo
y:=$(x) bar
x:=later
so ist oben gleichbedeutend mit
y:=foo bar
x:=later
+ = wird zum Anhängen von mehr Text an Variablen verwendet, z. B.
objects=main.o foo.o bar.o
objects+=new.o
wodurch Objekte auf 'main.o foo.o bar.o new.o' gesetzt werden.
= ist für rekursiv erweiterte Variable. Der Wert ist install wörtlich; wenn es enthält Verweis auf andere Variablen Diese Variablen werden erweitert, wenn diese Variable ist substituiert. Und dies ist als rekursive Expansion bekannt.
"=" dient zum Definieren rekursiv expandierter Variablen. Die folgende Make-Datei wird "y is later bar"
ausgeben %Vor%":=" dient zum Definieren einer einfach expandierten Variablen, die ein für allemal erweitert wird. Die folgende make-Datei wird "y is foo bar"
ausgeben %Vor% Wie bereits erwähnt, können Sie weitere Details in Verwenden von Variablen
Hoffe das hilft: -)
:=
Definiert die Variable hier für die linke Seite, +=
fügt die rechte Seite dem vorhandenen Wert der Variablen hinzu. Vergleichen Sie :=
mit =
, das die rechte Seite am Verwendungsort auswertet (anstatt in dieser bestimmten Zeile)
Sie können sich das Handbuch hier ansehen (vorausgesetzt, Sie verwenden GNU make)
Von Diese Website
für die Syntax :=
Link zum Platzieren auf Seite
Einfach expandierte Variablen werden durch Linien mit ': =' definiert (siehe Einstellen von Variablen). Der Wert einer einfach expandierten Variablen wird ein für allemal abgetastet, wobei alle Referenzen auf andere Variablen und Funktionen erweitert werden, wenn die Variable definiert ist. Der tatsächliche Wert der einfach erweiterten Variablen ist das Ergebnis der Erweiterung des von Ihnen geschriebenen Texts. Es enthält keine Verweise auf andere Variablen. Es enthält ihre Werte ab dem Zeitpunkt, zu dem diese Variable definiert wurde.
für die Syntax +=
Link zum Platzieren auf Seite
Wenn die betreffende Variable zuvor nicht definiert wurde, verhält sich '+ =' wie normal '=': Sie definiert eine rekursiv expandierte Variable. Wenn es jedoch eine vorherige Definition gibt, hängt es genau davon ab, welche Art von Variablen Sie ursprünglich definiert haben. Eine Erläuterung der zwei Varianten von Variablen finden Sie unter Die zwei Varianten von Variablen.