我正在写一个Makefile,它在一个地方进行字符串匹配,代码如下:
if test ...; \
then \
shell scripts... \
fi
ifeq ($(DIST_TYPE),nightly)
shell scripts ...
endif
这里的第一个if
是shell脚本,第二个ifeq
是GNU Make的条件脚本。但是,将产生以下错误:
ifeq(每晚,每晚)
/ bin / sh:-c:第0行:意外令牌'nightly,nightly'附近的语法错误
/ bin / sh:-c:第0行:``ifeq(每晚,每晚)''
这里发生了什么事?似乎Make正在尝试调用Shell。
谢谢。
sh
(例如第一个)中的条件语句与make
(例如第二个)中的条件语句混淆。