我一直在搜索stackoverflow,但我没有找到一个令人满意的答案来解决我的问题。
Miller 的论文Recursive Make Considered Harmful在社区中广为人知。基本上,多年来我一直在使用非递归 make来管理我的项目的构建。到目前为止,我在非递归 make 方面的经验非常积极。
为了给其他人一些启发,我已经成功构建了包含大约 200 万行代码的 C++ 代码库。我能够正确管理依赖项。非递归方法的好处是我们可以利用并行构建。
我已经证明,这份报告中的数据与至少 5 个大型项目是一致的。但是我一直在手动编写/移植非递归make的makefile。
正如您可能想象的那样,对于大型项目,这涉及大量工作。此外,主要挑战是新团队成员很难理解/修改/调试现有的 makefile。
所以我的问题是:社区中是否有人知道任何可以进行非递归生成但在更高抽象级别管理生成文件的工具/脚本?我想了解是否有人编写了一些脚本或工具来从一些简单的输入规范生成最终的非递归生成文件。