Shell-Script

if-else 構造的 makefile 語法錯誤

  • February 24, 2020

嗨,我被這個問題困擾了很長時間。我希望這個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,而不是自己處理它們。

引用自:https://unix.stackexchange.com/questions/569431