echo in makefile.am if 循环

echo in makefile.am if loop

如果条件不成立,我会尝试在 Makefile.am 中进行提示。 我正在尝试:

if FOUND_MAKEDEPF90
<compilation condition if true>
else
@echo "Create the dependencies Manually\n"
@echo "e.g. ./src/main.o:./src/main.f90"
endif

真正的分支工作正常,但是 运行 else 分支,我收到错误:

 *** missing separator.  Stop.

在循环中放入回显语句是不是无效? 这里出了什么问题?有什么想法吗?

我正在使用:

$ make --version
GNU Make 4.0
Built for x86_64-redhat-linux-gnu

你这里没有循环。您有一个 make 级别的 if 语句,是的,echo 是一个 shell 命令,不能位于 makefile 的顶层。

如果您只是想显示一条消息(在 make 运行 时间),如果不满足该条件,那么您可以使用 make $(info) 函数(或 $(warning)$(error) 导致 make 错误退出)。