有没有一种工具可以分析makefile?

4
我希望分析一些C makefile的参数,例如编译器标志以及设置此标志的要求。是否有工具可以帮助我以这种方式分析makefile? 更新 我正在寻找在哪些情况下执行什么命令行(例如针对特定架构的不同优化等),特别是在哪些情况下设置了编译器标志。

你能更具体地说明你在寻找什么吗?你是在寻找一些东西,它可以导航到makefile中的定义/等等,并向你展示哪些值的组合会导致哪些赋值被运行吗? - Etan Reisner
更新后是否更加清晰明了? - Maximilian
1个回答

9

是和不是。

是的,有可用的Makefile分析工具:

SYMake提供了一个符号化评估算法,处理Makefile并生成单个符号依赖图(SDG),通过命令表示所有可能的构建规则和文件之间的依赖关系。

MAKAO提供以下功能:

  • 构建依赖图的可视化
  • 查询构建目标和它们的构建命令和变量的依赖关系
  • 使用Prolog规则过滤构建依赖图,以减少混乱或识别构建惯用语
  • 验证构建依赖图中不良气味的存在

remake是GNU Make的增强版本,添加了改进的错误报告、更好的跟踪、分析和调试器。

不是的,这些工具没有明确指出哪些目标何时执行,并且它们不会针对特定的体系结构进行优化,尽管cmake在处理多个平台时很有用。您可以通过查看Makefile来确定这一点,准备好失望的答案。

您可以使用make -nmake -np以及make -nd(特定于gmake)手动调试Makefile。

此外,这里这里还有一些链接可帮助调试。


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