【发布时间】:2012-08-02 09:57:34
【问题描述】:
假设在 FreeBSD 上,应用程序需要使用 GNU make (gmake) 编译,而不是标准系统 make。如果 Makefile 不是用 gmake 编译的,是否有任何指令可以让 Makefile 停止执行并打印错误?
【问题讨论】:
假设在 FreeBSD 上,应用程序需要使用 GNU make (gmake) 编译,而不是标准系统 make。如果 Makefile 不是用 gmake 编译的,是否有任何指令可以让 Makefile 停止执行并打印错误?
【问题讨论】:
Call your makefile GNUmakefile。 GNU Make 会找到它,但其他品牌不会。
对于大多数 makefile,不建议使用检查的名字 GNUmakefile。如果您有一个特定于 GNU make 的 makefile,并且不会被其他版本的 make 理解,您应该使用这个名称。其他 make 程序寻找 makefile 和 Makefile,但不是 GNUmakefile。
【讨论】:
makefile 和一条规则怎么样:all: ; @echo use GNUMake
$(MAKECMDGOALS): ; @echo Use GNU Make?
.PHONY: $(MAKECMDGOALS)
这是对 Jack Kelly 答案的补充。
将 Makefile 重命名为 GNUmakefile 后,使用以下命令创建 Makefile:
USEGNU=gmake $*
all:
@$(USEGNU)
.DEFAULT:
@$(USEGNU)
这将在您每次运行 make 时为您调用 gmake。
【讨论】: