【发布时间】:2008-11-25 18:27:44
【问题描述】:
我们的构建速度很慢。它在 linux 上使用嵌套的 gnu makefile。它为来自同一源树的三个不同目标创建三个构建。它使用符号链接依次指向三个并行目录树中的每一个。我们可以通过在子目录中使用 make 来进行部分构建,这样可以节省时间,但如果我们的工作跨越多个目录,我们必须为三个目标中的至少一个进行构建,这至少需要 45 分钟。仅构建子目录可能需要“仅”5-10 分钟。
您知道哪些快速检查可能会导致此构建系统陷入困境吗?例如,有没有更快的符号链接替代方案?
补充:我看过有关递归 makefile 的论文。有谁直接知道将一个 Makefile 系统扁平化会产生什么影响,该系统目前有许多 makefile(大约 800 个)和超过 450 万个源代码行?人们目前喜欢通过在该目录中使用 make 来构建他们当前的子目录或进程(嵌入式 linux 目标)。
我刚刚了解到,直到最近,构建的时间是原来的两倍 (wince),此时发布工程师部署了 ccache。
【问题讨论】:
-
你可以给我们看看你现在使用的目录树吗?
标签: linux optimization makefile symlink