Makefileで環境変数の値を確認してください。

Makefileで環境変数の値を確認してください。

環境変数の値を確認する必要がある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

関連情報