[解決済み] Makefileの変数の初期化とエクスポート
2022-02-03 01:27:27
質問
somevar := apple
export somevar
update := $(shell echo "v=$$somevar")
all:
@echo $(update)
コマンドの出力としてリンゴを期待していたのですが、空っぽなので、exportと
:=
変数展開が異なるフェーズで行われている。
どのように解決するのですか?
問題は
export
は、コマンドで使用されるサブシェルに変数をエクスポートします。他の代入で展開することはできません。ですから、ルール外の環境からそれを取得しようとしないでください。
somevar := apple
export somevar
update1 := $(shell perl -e 'print "method 1 $$ENV{somevar}\n"')
# Make runs the shell command, the shell does not know somevar, so update1 is "method 1 ".
update2 := perl -e 'print "method 2 $$ENV{somevar}\n"'
# Now update2 is perl -e 'print "method 2 $$ENV{somevar}\n"'
# Lest we forget:
update3 := method 3 $(somevar)
all:
echo $(update1)
$(update2)
echo $(update3)
perl -e 'print method 4 "$$ENV{somevar}\n"'
関連
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】Makefileの中の.PHONYの目的は何ですか?
-
[解決済み] git export」(「svn export」のようなもの)を行うか?
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
-
[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] "お知らせ 未定義変数"、"Notice: Notice: 未定義のインデックス", "Notice:未定義のインデックス", "Notice."。PHPを使用した「未定義のオフセット
-
[解決済み] 変数が存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] GNU Makefile の変数割り当て =, ?=, :=, += の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】LaTeXで変数を定義する方法はありますか?
-
[解決済み] Makefileの変数の初期化とエクスポート
-
[解決済み] JenkinsでGroovyの変数を表示するには?
-
[解決済み] PowerShellで変数が8文字以上であることをテストするにはどうすればよいですか?
-
[解決済み] レジストリキーの値を取得し、powershellを使用して値をONLYする方法
-
[解決済み】Dockerfileで変数を定義する方法は?
-
[解決済み】コマンドラインでansible playbookに変数を渡すにはどうすればよいですか?
-
[解決済み] 変数 "i "と "j "はなぜカウンタに使われるのですか?
-
[解決済み] Makefile で複数行の文字列変数を作成することは可能ですか?
-
[解決済み] Makefile の括弧 $() と中括弧 ${} の違いは何ですか?