【问题标题】:Is there a modern replacement for Make? [closed]Make有现代替代品吗? [关闭]
【发布时间】:2012-07-18 20:46:13
【问题描述】:

Make 从来都不是我喜欢的工具,多年来我也经常使用 Ant,但 Ant 非常适合 Java,就像其他几个工具(Grunt、Rake 等)一样其他一些语言和工具栈。

有没有一种现代工具是:

a) 跨平台

b) 漂亮的语言无关

c) 易于使用

适用于开发人员想要执行的所有自动化任务,但具有比 Make 更现代的功能和易用性。

【问题讨论】:

  • 在我看来,make 具有 a、b 和 c 的特征。除了它不是“现代”之外,你能更准确地了解 make 的问题吗? (好吧:我将“跨平台”理解为“所有 unix”——咳咳——但除此之外......)
  • @NormanGray 我的一些抱怨归结为它依赖底层 shell 来执行操作及其语法。毫无疑问,其中一些可能会因为品味问题而被忽略。但你提到的“所有unix”也是问题的一部分。在这种情况下,我也想要包含“那个其他平台”的东西。

标签: build makefile build-automation


【解决方案1】:

一段时间以来,我们一直很高兴地将Rake 用于非 Ruby 构建,我们得出的结论是,一个体面的构建工具需要具备编程语言的能力。我们还没有发现任何我们不能用它做的事情,并且已经将它应用到 .NET 和 Java 项目中。这对你来说还不够语言不可知论吗?

【讨论】:

  • 你有没有将它与 Make 进行比较?有什么具体的优点/缺点吗?
【解决方案2】:

我很惊讶没有人提到 scons。

它是用 Python 编写的,但它是跨平台且与语言无关的。我已经开始将它用于个人 C++ 项目。

http://www.scons.org/

此外,SCons 网站与其他产品的比较也相当不错:

http://www.scons.org/wiki/SconsVsOtherBuildTools

您可以将 SCons 与您的存储库捆绑在一起,这会增加大约 2Mb 的所有工具:

https://sourceforge.net/projects/scons/files/scons-local/

【讨论】:

    【解决方案3】:

    Waf 与 Make 有相似的设计目标,据我所知。我没有广泛使用任何一个,但waf wiki has a detailed comparison with other build systems 解释了为什么类make 系统不是很好。这在很大程度上归结为这样一个事实,即类似于 make 的构建系统实现了自己有限的编程语言,与使用功能齐全的现有编程语言(Waf 是基于 python)相反,这种语言不易扩展。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 2016-03-30
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 2010-12-13
      • 2015-08-14
      • 1970-01-01
      相关资源
      最近更新 更多