任何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它应该是。 学习曲线应该最小化。