Antworten:
Wenn Sie die Umgebungsvariable exportiert haben:
export demoPath=/usr/local/demo
Sie können einfach namentlich darauf verweisen in makefile
( make
importiert alle von Ihnen festgelegten Umgebungsvariablen):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Wenn Sie die Umgebungsvariable nicht exportiert haben, können Sie erst darauf zugreifen, wenn Sie sie exportieren oder wenn Sie sie explizit in der Befehlszeile übergeben:
make DEMOPATH="${demoPath}" …
Wenn Sie eine C-Shell-Ableitung verwenden, ersetzen Sie setenv demoPath /usr/local/demo
den export
Befehl.
demoPath=/usr/local/demo make
. Vielleicht möchten Sie es testen und Ihre Antwort aktualisieren. Prost!
für diejenigen, die ein offizielles Dokument wünschen, um das Verhalten zu bestätigen
Variablen in make können aus der Umgebung stammen, in der make ausgeführt wird. Jede Umgebungsvariable, die make beim Start sieht, wird in eine make-Variable mit demselben Namen und Wert umgewandelt. Eine explizite Zuweisung im Makefile oder mit einem Befehlsargument überschreibt jedoch die Umgebung. (Wenn das Flag '-e' angegeben ist, überschreiben Werte aus der Umgebung die Zuweisungen im Makefile.
https://www.gnu.org/software/make/manual/html_node/Environment.html