Makefile 有一个Make调试器吗?我需要找到其他人';s生成文件

Makefile 有一个Make调试器吗?我需要找到其他人';s生成文件,makefile,multiple-makefiles,makefile-project,Makefile,Multiple Makefiles,Makefile Project,我需要为非常复杂的多层makefile(许多包含文件、许多目标、许多变量)添加一些功能,这些makefile是由其他人编写的,当然他们已经不在公司工作了。这里有些人了解其中一些,但不是全部 是否有一个Make调试器,我可以单步执行它,或者以某种等效的方式跟踪编译所经过的许多文件和目标的执行?或者有其他方法来处理这件事吗?您可能想看看这篇文章(Oreilly的“使用GNU Make管理项目,第三版”中的一章“调试Makefiles”)GNU Make在运行时打印一些调试信息-d将打印出大量调试信息

我需要为非常复杂的多层makefile(许多包含文件、许多目标、许多变量)添加一些功能,这些makefile是由其他人编写的,当然他们已经不在公司工作了。这里有些人了解其中一些,但不是全部


是否有一个Make调试器,我可以单步执行它,或者以某种等效的方式跟踪编译所经过的许多文件和目标的执行?或者有其他方法来处理这件事吗?

您可能想看看这篇文章(Oreilly的“使用GNU Make管理项目,第三版”中的一章“调试Makefiles”)

GNU Make在运行时打印一些调试信息
-d
将打印出大量调试信息;也许太多了,也许不是你需要的,但你可以试着从中筛选。还有一些选项,如用于进行试运行的
-n
-p
用于打印规则数据库,
-w
用于打印出您所处的目录,以帮助跟踪复杂递归生成中的问题,以及
--警告未定义变量
用于跟踪变量的某些问题

如果这些都不起作用,您可能想试试,它声称是一个带调试器的修补GNU make。我没有用过它,但从上一页来看,它可能会帮助您解决问题,而且它还提供了一些关于跟踪Makefiles中的bug的建议