linux - freebsd安装 - freebsd中文



make for linux/freebsd的替代方法? (8)

linux / freebsd有什么替代方法?



Answer #2

OMake是C / C ++,OCaml和LaTeX的自动依赖分析的构建工具。 它可以轻松地在多个目录上构建项目,并且可以根据MD5总和而不是时间戳找到更改。 它也有一个可以在后台运行的模式,只要文件被修改就可以建立你的项目。 一般来说,构建常见类型的项目(C / C ++或OCaml程序和库)所需的代码少于构建项目所需的代码。 我还没有尝试过更大的项目。

请注意,如果你想在OCaml中编程,这个工具是非常有用的,因为OCaml链接器要求编译模块以依赖顺序出现在命令行上,并且每次改变的东西都是不重要的。


Answer #3

如果你正在寻找完全不同的东西,那就是Ant 。 我自己并不是那么感兴趣,但它确实提供了一些可移植性的优点(不依赖于unix shell等)


Answer #4

我听说过有关Jam的好东西。


Answer #5

我喜欢SCons 。 它的构建方式是每个构建脚本(一个SConstruct文件)也是一个语法上有效的Python程序。 所以,如果需要的话,你可以在你的构建脚本中构建任意的Python逻辑。

它比自动计算多种依赖性要快得多。


Answer #6

我用CMake来做更多的项目,包括移植一些基于自动工具的工具,我可以说它的工作非常好。 它主要适用于C / C ++跨平台项目。


Answer #7

我正在做的项目继承了一些使用Cons而不是Make代码(不要和Greg Hewgill的答案中的SCons混淆)。

Cons是用Perl编写的,很像SCons是用Python编写的。 它自动管理依赖关系,并且可以在构建脚本中使用任何Perl代码来处理复杂的构建序列。

主要的缺点(和我对不起,我的项目使用它的主要原因)是, Cons并不做make -j风格的并行构建。 如果你正在编译一些不依赖于其他文件的文件, Cons将会一次一个地编译它们,而make -j会并行编译它们,如果你的机器上有多个核心和线程,那么这将非常有用。


Answer #8

WAF是一个有趣的选择。 用python编写,它允许你用普通的Python编写你的构建逻辑。 并行构建+半自动魔术签名的依赖关系跟踪工作相当好。 这应该是跨平台的(即知道如何建立在Windows上),但我没有尝试过。

它有一个相当陡峭的学习曲线,但它也与“WAF书”,以帮助过程。





freebsd