有没有一个好的工具用于生成Makefile?

51

@LightnessRacesinOrbit 抱歉。 - Onur A.
10个回答

40

其他你可能想考虑的建议:

  • Scons 是一个跨平台、跨编译器的构建库,使用Python脚本作为构建系统。被应用于各种大型项目中,并且表现非常出色。

  • 如果你正在使用 QtQMake也是一个不错的构建系统。

  • CMake 也相当不错。

  • 最后,如果其他都失败了……


8

试试自动Makefile生成器

它支持以下编译器:

  • Borland 3.1
  • Borland 5.0
  • Borland 5.0, 16位
  • Borland 5.5
  • Borland 5.6
  • Borland 5.8
  • CC
  • GNU g++
  • GNU g++,动态库
  • Intel 5、6、7 for Linux
  • Intel 5、6、7 for Linux,动态库
  • Intel 5、6、7 for Windows
  • Intel 8、9、10 for Linux
  • Intel 8、9、10 for Linux,动态库
  • Intel 8、9 for Windows
  • Intel 10 for Windows
  • Visual C++ 5
  • Visual C++ 6、7、7.1
  • Visual C++ 8
  • Open Watcom
  • Watcom 10A
  • Watcom 10A,16位

4

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

SCons 的性能问题在 SCons 邮件列表上已经广为人知,并且是一个深入讨论的话题。


4

我会投票给OMake。它解决了我对GNU make的所有抱怨:

  • 它是一个完整的语言。
  • 使用MD5而不是时间戳。
  • 提供了一个最有用的Unix命令集合在所有平台上实现的最小shell:findsedAWK等。
  • 可以处理Unix或DOS样式的路径名。
  • 有详细的文档。
  • 支持并行构建。
  • 速度快。

4

我以前使用过Bakefile,效果还不错。它相当简单,看起来很有效。


1

我也推荐使用CMake。我在一个多平台项目上使用它已经有一段时间了,非常满意。


1

自动生成(M|m)akefile让我担心你在做什么。

你了解在输入make或gmake时发生了什么吗?我只是问一下,因为如果你不知道,当出现问题时,比如新代码更改没有被纳入构建中,你将很难弄清楚发生了什么。

为了开始理解make,我建议阅读Robert Mecklenberg的《使用GNU Make管理项目》。早期章节涵盖了make的工作原理。理解make是向后链接的事实是你可以做的最重要的事情之一。

如果你不这样做,而你的系统似乎正常工作,那么你将会像The Pragmatic Programmers所说的“凭巧合编程”。(-:

顺便说一句,他们网站上有很棒的文章!我与他们无关。YMMV。等等...


0
一个需要考虑的问题是,你想要一个“Makefile”创建工具还是替代性构建系统?使用替代性构建系统的问题在于,对于那些期望获得良好 IDE 集成的平台(如 Visual C++),通常无法实现这一点。如果你想要的是 Makefile 创建工具而不是替代性构建系统,请看一下 MPC。它是免费且开源的。

0
最近添加到替代make工具列表中的是waf。从个人经验来看,SCons做得相当不错。

0

我正在开发一个类似的 Makefile 自动生成器项目 CodeMate,使用 Ruby 编写。也许现在对于大型应用来说还不够成熟,但我会继续努力让它变得更好。

用户不应该需要编辑任何配置文件来构建软件,或者至少应该尽可能地减小学习曲线。


1
又一个死掉的SO链接!我手动访问了你的GitHub页面,看到的是一个仅支持Fortran的构建工具CodeMate。你是否创建了另一个同名项目?这个看起来可能是你想要的。 - kirbyfan64sos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接