4

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

是否有一个 Make 调试器,我可以单步执行它,或者有一些等效的方法来跟踪编译流经的许多文件和目标的执行?还是有其他方法可以了解这件事是如何工作的?

4

2 回答 2

2

您可能想查看这篇文章http://oreilly.com/catalog/make3/book/ch12.pdf(Oreilly 的“使用 GNU Make 管理项目,第三版”中的“调试 Makefiles”一章)

于 2010-09-10T21:37:13.323 回答
2

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

如果这些都不起作用,您可能想尝试Remake,它声称是带有调试器的修补 GNU make。我没有使用过它,但是从文档来看,它看起来可能会对您有所帮助,并且它对尝试追踪 Makefiles 中的错误有更多建议。

于 2010-09-10T21:48:59.533 回答