【发布时间】:2014-07-07 11:47:14
【问题描述】:
在一个大型 C 项目中,我在不同的子目录中有一个顶级 Makefile 和许多子 Makefile。我需要收集编译的所有依赖项。为此,我将 -MMD 添加到 CFLAGS 并获得一堆 .d 依赖文件。
这些 .d 文件分散在子目录中。此外,依赖项有时写为绝对路径,有时写为与编译目录相关的路径,有时包含符号链接。我编写了一个脚本,它可以查找所有 .d 文件、遍历它们的目录并解析所有找到的路径。这是可行的,但是对于成千上万的依赖文件,这个依赖集合的持续时间与编译时间差不多! (等待时间太长了:))
有没有更快的方法在一个文件中获取所有依赖项?如果重要的话,这是 ANSI C、GCC 和 Linux。提前致谢。
【问题讨论】: