Build Make有现代的替代品吗?

Build Make有现代的替代品吗?,build,makefile,build-automation,Build,Makefile,Build Automation,Make从来不是我喜欢的工具,多年来我经常使用Ant,但Ant非常适合Java,就像其他几个工具(Grunt、Rake等)都是关于其他语言和工具堆栈一样 是否有一种现代化的工具: a) 跨平台 b) 漂亮的语言不可知论者 c) 易于使用 用于开发人员想要完成的所有自动化任务,但具有比Make更现代的功能集和易用性。我们已经愉快地用于非Ruby构建有一段时间了,我们已经得出结论,一个好的构建工具需要有编程语言的能力。我们还没有发现任何不能使用它的东西,并且已经将它应用到.NET和Java项目中。这

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

是否有一种现代化的工具:

a) 跨平台

b) 漂亮的语言不可知论者

c) 易于使用


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

我们已经愉快地用于非Ruby构建有一段时间了,我们已经得出结论,一个好的构建工具需要有编程语言的能力。我们还没有发现任何不能使用它的东西,并且已经将它应用到.NET和Java项目中。这对你来说还不够不可知语言吗?

就我所见,有类似的设计目标要实现。我没有广泛地使用这两种方法,但这解释了为什么make-like系统不是很好。这在很大程度上归结为这样一个事实:make-like-build系统实现了自己的有限编程语言,这是不容易扩展的,而不是使用功能齐全的现有编程语言(Waf是基于python的)。

我很惊讶没有人提到SCON

它是用Python编写的,但它是跨平台和语言不可知的。我已经开始使用它来做个人C++项目了。

此外,SCons网站与其他产品相比也有很好的比较:

您还可以将SCON与您的存储库捆绑在一起,这将为所有工具增加大约2Mb的容量:


在我看来,make具有特性a、b和c。除了它不是“现代”之外,你能更准确地说明make有什么问题吗?(好的:我把‘跨平台’理解为‘所有unix’——啊哼——但除此之外……)我的一些抱怨归结为它依赖底层shell来执行操作及其语法。毫无疑问,其中一些可能会被视为品味问题而不予考虑。但是你提到的“所有unix”也是问题的一部分。在这种情况下,我想要的东西,包括“另一个平台”,以及。你有没有比较它,使在所有?有什么具体的优点/缺点吗?