環境変数の値を確認する必要があるMakefileターゲットがあります。しかし、正確な構文を理解していません。頑張りましたが見つかりませんでした。助けてくれてありがとう。
環境変数名:TEST、値:「TRUE」
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
次のエラーが発生します。
/bin/sh: -c: line 0: syntax error near unexpected token `"TRUE","TRUE"'
/bin/sh: -c: line 0: `ifeq ("TRUE","TRUE")'
答え1
このifeq()
ディレクティブは列1になければならず、すべての先行スペースを削除する必要があります。
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
^スペースなし
答え2
TABの後ろに配置することはできませんifeq
。空白が許可されます。読むGNUドキュメントの作成。
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
また、現在の状態と比較すると次のよう$(TEST)
になります。"TRUE"
$ make TEST=TRUE
make: Nothing to be done for 'test_target'.
$ make TEST='"TRUE"'
echo "Do something"
Do something