シェルに入ったら
echo $demoPath
印刷する
/usr/local/demo
メイクファイルでこの変数$demoPath
の値を取得するにはどうすればよいですか?
環境変数をエクスポートした場合:
export demoPath=/usr/local/demo
makefile
(make
は設定したすべての環境変数をインポートします)で名前で単純に参照できます:
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
環境変数をエクスポートしていない場合、エクスポートするか、コマンドラインで明示的に渡さない限り、環境変数にアクセスできません。
make DEMOPATH="${demoPath}" …
Cシェル派生物を使用している場合、export
コマンドの代わりにsetenv demoPath /usr/local/demo
を使用します。
公式文書で動作を確認したい人向け
Makeの変数は、makeが実行される環境から取得できます。 makeが起動時に確認するすべての環境変数は、同じ名前と値を持つmake変数に変換されます。ただし、makefileでの明示的な割り当て、またはコマンド引数を使用すると、環境がオーバーライドされます。 (「-e」フラグが指定されている場合は、環境の値がメイクファイル内の割り当てをオーバーライドします。
https://www.gnu.org/software/make/manual/html_node/Environment.html
all:
echo ${PATH}
または、1つのコマンドだけでPATHを変更します:
all:
PATH=/my/path:${PATH} cmd