Shell-Script
if-else 構造的 makefile 語法錯誤
嗨,我被這個問題困擾了很長時間。我希望這個makefile的輸出“ok”。但是我在呼叫時遇到語法錯誤
make
:ifeq (0, 0)
/bin/sh: 1: 語法錯誤:單詞意外(期待“)”)
製作: ***
$$ default $$錯誤 2
程式碼:
CHK = 0 default: ifeq ($(CHK), 0) echo "ok" else echo "not ok" endif
這些是 Makefile 指令,而不是 shell 指令,因此它們不應以製表符為前綴:
CHK = 0 default: ifeq ($(CHK), 0) echo "ok" else echo "not ok" endif
否則 Make 將它們傳遞給 shell,而不是自己處理它們。