3
如何将makefile中给定的依赖关系显示为树?
问题 我想查看makefile的一个或多个目标的依赖关系。因此,我正在寻找一个程序,该程序可以解析makefile,然后以树状格式(缩进,ascii-art,...)或图形(点,...)表示依赖项。 类似 有一些程序可以在其他情况下执行此操作: pactree或btreeree可以树状格式(例如ascii格式)或dot图形形式显示相应格式软件包的依赖关系, gcc -M source_file.c 将C源文件的依赖性显示为生成规则, pstree显示进程树的ascii表示。 进展 在网上搜索时,我发现没有什么帮助。那导致我尝试 make --always-make --silent --dry-run some_target | \ grep --extended-regexp 'Considering target file|Trying rule prerequisite' 但看起来我必须在perl或python中破解一些其他解析代码,才能将其表示为漂亮的树/图。而且我还不知道我是否真的会以这种方式获得完整正确的图表。 要求 最好以某种方式限制图形(没有内置规则,只有给定的目标,只有一定的深度),但是在大多数情况下,我只是在寻找一种工具,该工具将给我一些“合理的”,人类的依赖关系。 -可见格式(例如“相似”下的程序)。 问题 是否有任何程序可以做到这一点? 我会从中获得完整和正确的信息make -dnq ...吗? 有没有更好的方法来获取此信息? 是否已经存在用于解析此信息的脚本/尝试?