Makefile .for 和 .if 扩展

问题描述 投票:0回答:1

我想运行一个 Makefile

.if "${WITH_DOT}" != "0"
VIS+=       day21.dot day21.pdf
.endif

但我越来越

Makefile:17: *** missing separator.  Stop.

我能找到的唯一链接是https://lists.freebsd.org/pipermail/freebsd-hackers/2005-February/010281.html

为什么这不起作用?我该如何运行这个?

$ make --version
GNU Make 4.2.1
makefile freebsd
1个回答
0
投票

您的示例是 (Free)BSD Make 语法的一部分。 GNU Make 的语法有所不同,请参阅此处

libs_for_gcc = -lgnu
normal_libs =

foo: $(objects)
ifeq ($(CC),gcc)
        $(CC) -o foo $(objects) $(libs_for_gcc)
else
        $(CC) -o foo $(objects) $(normal_libs)
endif

您可以在这里查看 FreeBSD 的 make 手册页(向下滚动一点查看

.if
)。如果你想使用这个 make,我认为你应该安装
bmake
bsdmake
包。

© www.soinside.com 2019 - 2024. All rights reserved.