什么是Makefile生成工具?

时间:2013-01-29 02:35:23

标签: c++ makefile

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

之前我曾经看过automake / autoconf,而且我越来越看到CMake了。有什么选择?他们是否设计了大型项目?哪一个更受欢迎?各自的优点和缺点是什么?还有什么好的选择?

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

1 个答案:

答案 0 :(得分:5)

第一个想到的是

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

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