如何判断 makefile 中是否使用了 GNU make?

tar*_*yte 6 gnu-make

我知道 GNU Make 是迄今为止最常用的,但我正在寻找一种方法来验证 GNU Make 是正在使用的实际 make 程序。是否有一个特殊变量可以从 Makefile 中打印,例如:

@echo "$(MAKE_VERSION)"
Run Code Online (Sandbox Code Playgroud)

如果我同时安装了 GNU Make 和其他变体怎么办?

which make
/usr/bin/make
Run Code Online (Sandbox Code Playgroud)

Rol*_*res 3

使用:

$(MAKE) --version
Run Code Online (Sandbox Code Playgroud)

在这里工作。我的输出是:

make --version
GNU Make 3.82
Built for i686-pc-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Run Code Online (Sandbox Code Playgroud)