有没有办法获取定义 make 变量的 makefile 的名称?

Is there a way to get the name of the makefile where a make variable was defined?

出于调试目的,当包含许多 make 文件时,打印 makefile 的完整路径(当前 makefile 中首次定义特定变量的位置)很有用。有办法吗?

这可能很乏味,但您可以转到每个生成文件并回显生成文件的位置和文件名。然后您可以继续打印在 makefile 运行时定义变量的时间。 这是另一个 post,它更详细地介绍了打印变量。

How to print out a variable in makefile

只是 运行 make -p。 Make 将打印其内部数据库,包括看到的所有目标和变量以及设置它们的文件名和行号。