我想查看一个 makefile 的一个或多个目标的依赖关系。所以我正在寻找一个程序,它可以解析生成文件,然后以某种树状格式(缩进,ascii-art,...)或图形(点,...)表示依赖关系。
有些程序可以针对其他情况执行此操作:
dot
图形)的形式显示软件包的依赖关系,gcc -M source_file.c
将 C 源文件的依赖项显示为 make 规则,在网上搜索我发现几乎没有帮助。这让我尝试
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
Run Code Online (Sandbox Code Playgroud)
但看起来我必须在 perl 或 python 中编写更多解析代码才能将其表示为一个漂亮的树/图。而且我还不知道我是否真的会以这种方式获得完整和正确的图表。
以某种方式限制图形会很好(没有内置规则,只有给定的目标,只有一定的深度),但在大多数情况下,我只是在寻找一种工具,它会给我一些“合理”的依赖关系,人类- 可视格式(就像“类似”下的程序一样)。
make -dnq ...
吗?