10

是什么力量在使笨拙的旧 Make(带有或不带有 makefile 生成器工具)作为构建工具突出?是替代品的缺陷使它们无法被广泛采用,还是宣传不足,或者 Make 有什么东西让它保持原样?

尽管 Make 在处理大型项目时存在许多弱点和困难(例如,请参阅http://freshmeat.net/articles/what-is-wrong-with-make),但它似乎仍然比更新的、改进的替代品(如Scons )更广泛地使用,果酱耙子库克等。

替代方案是否有可衡量的收益,或者“市场份额”主要取决于团队领导的意见和经验?

4

8 回答 8

9

无处不在:我喜欢Make,因为我可以相信它会在我需要的地方可用,即在目标机器上安装或轻松安装。

于 2010-01-13T20:14:19.357 回答
7

它广泛可用,文档齐全,简洁而强大 + 最重要的是 - 没有 XML!.

我已经使用它近 15 年了,但仍然没有找到更好的东西。我用它做的最酷的事情是让主makefile 为子项目即时生成makefile。

于 2010-01-13T20:28:56.270 回答
5

关于您的问题,哪些力量使人保持活力……这是习惯的力量。

于 2010-01-13T20:15:29.493 回答
4
  • 简单——容易做简单的事情
  • 无处不在 - 某些版本在您的系统上
  • 速度 - 对于大多数事情来说足够快
  • 富有表现力 - 非常适合工作
  • 不明显的复杂性——主要是大型项目暴露问题
于 2010-01-13T20:47:26.623 回答
1

它在大量平台上的可用性可能会有所帮助。如果为多个平台编写产品,知道它总会有一个加分点。在构建自己的项目之前必须将构建工具移植到新平台是一件很痛苦的事情。

于 2010-01-13T20:15:20.900 回答
1

嗯,我从来没有用作make构建系统。

除此之外,它是一种独特的数据流编程语言,您可以在其中描述一组节点,每个节点都有特定的用途,描述它们的行为,并让管理器处理和控制它们之间的数据流。

于 2010-01-14T05:23:04.143 回答
1

我们在一个相对较大的项目中使用 scons 来替换 make,并发现它是一个相当灵活的系统,它允许我们进行一些非常必要(但非常不幸)的 hack,以按照我们需要的方式构建东西。另外,make 是 -strange-。

于 2010-02-10T02:44:37.120 回答
0

我认为要看到向另一个工具的重大转变必须发生什么,首先必须创建该工具....这要好得多。并且为了影响更改,Linux 发行版之一或主要软件包之一必须切换到它,并且可能保留旧版本以保持兼容性。我设想新的构建工具将能够生成遗留的 makefile。linux 已经展示了他如何用 git 解决源代码控制系统。我有一个很好的预感,他可以想出一些很酷的东西并与 git 配合使用。

于 2011-05-05T06:27:57.837 回答