任何makefile生成的好工具?

我正在寻找一个工具,可以为不同的编译器(gcc,microsoft vc ++,borland等)和不同的平台(Win,Linux,Mac)生成一个C / C ++项目的makefile。

其他build议,你可能要考虑:

  • Scons是一个跨平台的交叉编译器构build库,使用Python构build系统。 用于各种大型项目,performance非常好。

  • 如果你使用Qt, QMake也是一个很好的构build系统。

  • CMake也很漂亮。

  • 最后, 如果一切都失败了…

你有没有试过自动生成文件生成器 ?

它支持以下编译器:

  Borland 3.1 
 Borland 5.0 
 Borland 5.0,16位 
 Borland 5.5 
 Borland 5.6 
 Borland 5.8 
 CC 
 Gnu g ++ 
 Gnu g ++,dynamic库 
英特尔5,6,7用于Linux 
英特尔5,6,7 for Linux,dynamic库 
英特尔5,6,7 for windows 
英特尔8,9,10为Linux 
英特尔8,9,10为Linux,dynamic库 
英特尔8,9为Windows 
英特尔10 for windows 
 Visual C ++ 5 
 Visual C ++ 6,7,7.1 
 Visual C ++ 8 
打开Watcom 
 Watcom 10A 
 Watcom 10A,16位 

我以前用过Bakefile ,取得了一些成功。 这很简单,似乎运作良好。

CMake是唯一可以真正生成真正的Visual Studio项目的工具(即不是“Makefile” – 调用外部工具的项目),并且在构buildinput文件(CMakeLists.txt)更改时自动重新创build项目。

SCons的性能问题是众所周知的,也是SCons邮件列表上的一个辩论性话题。

我会投票给OMake 。 它修复了我与GNU make的所有抱怨:

  • 这是一个完整的语言。
  • 使用MD5而不是时间戳。
  • 提供了一个最小的shell,在所有平台上实现最有用的unix命令:find,sed,awk等等。
  • 可以使用unix或dos样式path名。
  • 广泛logging。
  • 支持并行构build。
  • 快速。

自动生成(M | m)文件使我担心你在这里要做什么。

当你inputmake时,你知道封面下面是怎么回事? 还是gmake? 我只是问,因为如果事情没有中断,比如新的代码更改没有被合并到构build中,那么在尝试工作时遇到困难。

要开始了解make,我可以build议阅读Robert Mecklenberg的“ 用GNU Makepipe理项目 ”。 前面的章节介绍如何使工作。 让你听到围绕制造反向链接的事实是你能做的最大的事情之一。

如果你不这样做,而且你的系统似乎有效,那么你就可以使用“务实程序员”的术语“ 巧合编程 ”。 ( – :

顺便说一句伟大的文章可在他们的网站! 而且我不参与他们。 因人而异。 亚达,亚达…

我也是第二个CMake。 我在一个多平台的项目中使用了很长一段时间,对此我非常满意。

需要考虑的一个问题是你想要一个“makefile”创build者还是一个替代构build系统? replace构build系统的问题在于,对于用户所期望的平台(Visual C ++),您通常不会获得良好的IDE集成。 如果您确实需要makefile创build器而不是replace版本系统,请查看MPC 。 它是免费的,开源的。

最近增加的replace名单是waf 。 从个人经验来看,SCONS做得很好。

我不知道你是否对这个问题有兴趣了。 我正在开发一个类似的使用Ruby开发的Makefile自动生成器,名为CodeMate 。 也许现在对于大型应用程序还不是很成熟,但是我会继续努力使之更好。 用户不需要编辑任何configuration文件来构build软件,或者至less它应该是。 学习曲线应该最小化。