确定是否使用gmake执行Makefile

时间:2012-08-02 09:57:34

标签: makefile gnu-make freebsd

在FreeBSD上说,应用程序需要使用GNU make(gmake)编译,而不是标准系统make。是否有任何指令我可以放入Makefile停止执行它并在Makefile未使用gmake编译时打印错误?

2 个答案:

答案 0 :(得分:7)

Call your makefile GNUmakefile。 GNU Make会找到它,但不是其他品牌。

对于大多数makefile,不建议使用第一个名称GNUmakefile。如果您具有特定于GNU make的makefile,则应使用此名称,并且其他版本的make不会理解该名称。其他make程序查找makefile和Makefile,但不查找GNUmakefile。

答案 1 :(得分:2)

这是Jack Kelly回答的补充。

将Makefile重命名为GNUmakefile后,使用:

创建Makefile
USEGNU=gmake $*
all:
    @$(USEGNU)
.DEFAULT:
    @$(USEGNU)

每次运行make时都会为你调用gmake。