【问题标题】:What are the Makefile generation tools out there?有哪些 Makefile 生成工具?
【发布时间】:2013-01-12 13:00:28
【问题描述】:

我目前正在为我的项目使用手动设计的 Makefile,而我之前从未使用过 Makefile 生成器。请注意,我目前有 70 多个源文件(C++、Python 和 MATLAB 相结合)。 Makefile 主要用于编译 C++ 文件和协议缓冲区(.proto)。我知道我的项目越来越多的文件。他们目前都在一个导演。但我可能需要有多个目录。我担心维护 Makefile 变得越来越难。

我以前经常看到 automake/autoconf,现在越来越多地看到 CMake。有什么选择?他们设计的是大型项目吗?哪个是首选?各有什么优缺点?还有哪些不错的选择?

我确实看到 any good tool for makefile generation? 中没有列出 automake。过时了吗?

【问题讨论】:

  • 请告诉我们您需要什么
  • 您的项目有多大,需要多大的便携性?使用g++ -M 生成依赖关系可能非常有用,如果您的项目中没有大量文件,使用手动制作的[或简单的脚本/批处理文件]可能比学习和调试更容易CMake 或 automake 脚本。
  • 在任何人能够合理地回答这个问题之前,了解您希望完成什么以及今天的计划 makefile 不能实现什么会有所帮助。您是否尝试针对多个目标进行编译?或者您的构建环境是否足够复杂,以至于现有的 Makefile 无法维护?
  • @MarkGarcia:我刚刚更新了问题。
  • 谢谢,做得好。提出您的要求和当前的限制几乎可以缩小您真正需要的答案。

标签: c++ makefile


【解决方案1】:

第一个想到的是

哪种更适合可能取决于您的特定需求。 CMake 涵盖了从自动构建可安装包到单元测试的大量功能,并且比 autoconf 工具恕我直言更容易理解。

对于真正的“大型”项目,需要集成 3rd 方的东西、生成中间源等。我实际上使用 ant + CMake 来引导 C++ 编译部分。这也与Jenkins 等连续集成服务器很好地集成。

【讨论】:

    猜你喜欢
    • 2010-09-23
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2011-01-29
    • 2010-10-05
    • 1970-01-01
    • 2011-05-18
    • 2010-09-22
    相关资源
    最近更新 更多