4

bitbake(.bb)レシピから呼び出しているMakefileに変数を渡そうとしています。

私のレシピには次のようなものがあります。

export FOO="bar"

メソッドを実行するdo_compile()と、生成したMakefileを呼び出すようになります。Makefileで、変数が正しく設定されていることをテストしました。

ifeq ($(FOO), "bar")
    echo $(FOO) >> ./test.txt
else
    echo "Didn't work" >> ./test.txt
endif

レシピを焼くと、ログに「動作しませんでした」と表示されます。FOO="bar"Makefileに入れて実行しただけmakeでは、テストファイルに「バー」が印刷されているので、これは非常に奇妙だと思いました。では、なぜ正しく「合格」しなかったのでしょうか。

確認するためにもう1つのテストを実行しました。私のメイクファイルには、次の行だけを入れました。

echo $(FOO) >> ./always_print.txt

そして、レシピをベイクした後bar、「always_print.txt」ファイルに印刷されているのに、test.txtに「動作しませんでした」と表示されています...

誰かが私がここで間違っていることの手がかりを持っていますか?

4

2 に答える 2

5

このmake言語は引用符として使用されないため、 (引用符を含めて)"比較$(FOO)しています。"bar"引用符を省略してください:

ifeq ($(FOO),bar)
  ...
于 2013-03-13T16:54:43.920 に答える