生成make命令的DAG图?

13
我的理解是,当make执行时,它会内部生成一个有向无环图(DAG)来表示项目中的所有依赖关系。是否有一种方法可以访问该DAG并将其绘制成图形,例如使用graphviz?我在Ubuntu 8.04上使用gnu make。
编辑:我刚刚发现了这些名为mamdagmamdot的工具。它们应该适用于nmake和gnu make,但我似乎找不到让gnu make输出mam文件的选项。
这里可以下载这些包:
INIT ast-base ast-gpl
Glenn Fowler在AT&T撰写的文章描述了MAM语言和mamdot工具。
看起来你必须为此修补gnu make,尽管我还不确定。也许还有其他方法吗?
2个回答

4

1
+1 对于有趣的内容,但我真正想要的是可视化 GNU Make 的内部 DAG。 - Robert S. Barnes
“makesimple”是gvmake文档建议使用的工具,它从“make --print-data-base”的输出中获取并解析信息。尽管我无法确认,但它可能包含有关内部DAG的足够信息。 - Hasturkun

1

对于代码方面,如果您感兴趣的是源文件和头文件之间的依赖关系图,doxygen 可以生成该图,而无需使用 make。


3
不,我实际上想要一个make内部DAG的转储。这是一种证明特定项目的构建设置存在问题并需要重新设计的方法。类似于论文《递归Make的危害性》(http://aegis.sourceforge.net/auug97.pdf)所述。 - Robert S. Barnes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接