嗨,我被这个问题困扰了很长时间。我期望这个 makefile 输出“ok”。但我在调用时遇到语法错误make
:
ifeq (0, 0)
/bin/sh: 1: 语法错误:单词意外(需要“)”)
make: *** [默认] 错误 2
代码:
CHK = 0
default:
ifeq ($(CHK), 0)
echo "ok"
else
echo "not ok"
endif
答案1
这些是 Makefile 指令,而不是 shell 指令,因此它们不应该带有制表符前缀:
CHK = 0
default:
ifeq ($(CHK), 0)
echo "ok"
else
echo "not ok"
endif
否则,Make 将它们传递给 shell,而不是自己处理它们。