これは私が見た中で最も奇妙な行動です。以下の説明をご覧になるとショックを受けますが、そうです。このようなことが起こっています。
LON_GEMINI_BOX
Bashスクリプトから変数名をエクスポートしようとしています。
そして、具体的な内容を定義するために、makefileでこの変数の値にアクセスしてみてください。
次のようになります。 bashスクリプトでは、
export LON_GEMINI_BOX = 1
make ファイルでは、
ifeq ($(LON_GEMINI_BOX), 1)
This is how im defined
EXTRA_CFLAGS +=
EXTRA_CFLAGS +=
else
why is this happening
endif
私はビルドプロセス中に常に他の部分に介入します。変数名LON_GEMINI1_BOX
を別のものに調整すると、期待LON_GEMINI_BOX
どおりにエクスポートされ動作します。
何が問題なのかを把握しようとしています。
答え1
Makefile条件では、すべてのスペースを削除することをお勧めします。このmakefileを見てください。正常に実行されます。
TXT="--"
ifeq ($(LON_GEMINI_BOX),1)
TXT="works!"
EXTRA_CFLAGS +=
EXTRA_CFLAGS +=
else
TXT="why is this happening"
endif
all:
@echo $(TXT)