gpt4 book ai didi

makefile - ifeq : syntax error near unexpected token 出错

转载 作者:行者123 更新时间:2023-12-03 01:41:44 25 4
gpt4 key购买 nike

我正在编写一个在一个地方进行字符串匹配的 Makefile,代码如下:

if test ...; \
then \
shell scripts... \
fi

ifeq ($(DIST_TYPE),nightly)
shell scripts ...
endif

这里第一个if是shell脚本,第二个ifeq是GNU Make的条件。但是会生成以下错误:

ifeq (nightly,nightly)

/bin/sh: -c: line 0: syntax error near unexpected token `nightly,nightly'

/bin/sh: -c: line 0: `ifeq (nightly,nightly)'

这里发生了什么?看起来 Make 正在尝试调用 shell。

最佳答案

我研究了代码,发现条件语句应该不缩进编写,这解决了我的问题。

如果没有缩进,Make会将其视为自身的指令;否则,它被视为一个shell脚本。

示例代码

错误:

target:
ifeq (foo, bar)
...
endif

正确:

target:
ifeq (foo, bar)
...
endif

关于makefile - ifeq : syntax error near unexpected token 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4483313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com