首页 > 解决方案 > 如何找出变量 MAKE 的定义

问题描述

make一段时间没用了。但是刚刚从一个使用 Ubuntu 的 10 年历史的编译器那里得到了一个项目。

我正在查看 makefile 并试图找出它正在使用的编译器。 ${MAKE}文件中使用。但是我在哪里可以找到MAKE. 谢谢

标签: makefilegnu-make

解决方案


您可以简单地使用 makefile 中的 theinfovaluebuilt-in 函数:

$(info MAKE: $(value MAKE))

如果MAKE递归扩展变量,这将起作用,默认情况下。否则,如果MAKE是一个简单的扩展变量,您将看到在评估MAKE的定义时完成的扩展(即,与 相同$(MAKE))。


一种更好的方法,它与变量的风格无关,是make使用该选项运行-p并查看 的定义MAKE,例如:

make -p | grep 'MAKE ='

您可能会发现它MAKE被定义为:

MAKE = $(MAKE_COMMAND)

MAKE_COMMAND,这是另一个变量(这次是一个简单的扩展变量),可以依次定义为:

MAKE_COMMAND := make

推荐阅读