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