私は環境変数の値をチェックする必要がある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")'
ifeq()
ディレクティブは列1にある必要があり、先頭の空白をすべて削除します。
test_target:
ifeq ($(TEST),"TRUE")
echo "Do something"
endif
^空白なし
TABの後にifeq
を付けないでください。スペースは許可されます。 GNU Make document をお読みください。
_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
_