替代品的使用linux/freebsd?[关闭]
题
什么是一些替代办法 让 linux/freebsd?
解决方案
我喜欢 SCons的。它以这样的方式,每一个构建脚本(一SConstruct
文件)也是语法上有效的Python程序构成。所以,你可以建立任何Python逻辑到您的构建脚本,如果你需要。
它也比make
快得多,并自动计算多种依赖。
其他提示
我的第一个问题是,什么是观众。这是建立在企业内部,只有你的团队将建立软件?如果是这样,探索一些已经出现的选项。如果是这样的东西,别人会建设,无论是与化妆棒,或使用创建的makefile的工具,把那些。我们使用autoconf和automake的Linux和其它UNIX平台。在我看来,你需要一个很好的理由做其他的东西比配置;使;使安装。升压都有自己的工具(果酱的修改版本),这让我很烦,每次我需要尝试,并得到它来编译一个不寻常的机器上。
Automake:p通常在大多数使用linux的应用程序的分布,但它提供了更多的工作于一个生成文件,但是更好的结果 http://www.gnu.org/software/automake/
http://www.openismus.com/documents/linux/automake/automake.shtml <-不错的解释如何使用automake和autoconf
如果你正在寻找的东西完全不同,有蚂蚁。我不是在它自己感兴趣的,但它确实提供了一些便携性的优势(在UNIX外壳不依赖,等等。)
我听说过好东西果酱。
OMake 是为C / C构建工具++,OCaml中,并用自动依赖性乳胶分析。它可以轻松地建立了多个目录的项目,它发现基于MD5总和,而不是时间戳的变化。它也有它可以在后台运行,构建项目,只要一个文件被修改的模式。一般情况下,它需要较少的代码来构建常见类型的项目(C / C ++或者Ocaml程序和库),比化妆一样。我还没有尝试过的更大的项目。
请注意,如果你想在OCaml中编程,这个工具是非常有用的,因为OCaml的连接需要编译的模块出现在依赖顺序在命令行上,并找出这个顺序,每次有新的变化是不平凡的。
我使用的CMake更多我的项目,包括基于移植的人一些自动工具,我可以说,它的工作非常出色。它主要适于C / C ++跨平台的项目。
我的工作项目继承使用Cons
代替Make
一些代码(不要混淆与格雷格Hewgill的回答SCons
)。
Cons
被写入在Perl,很像SCons
被写入在Python。它自动管理的依赖关系,并且可以使用任何Perl代码构建脚本内部来处理复杂的编译序列。
主要缺点(其主要原因对不起我的项目使用它)是Cons
没有做平行建立在make -j
的风格。如果你正在编译一个数字,不依赖于彼此Cons
将编译它们一次一个,而make -j
将并行,如果你有你的机器上的多个核心和线程,这是伟大编译它们的文件。
另一个使跨平台构建是kmake
(kbuild
的一部分,在其自己的话:的kbuild是用于编写简单生成文件为复杂的任务生成文件框架)。它是GNU make
的增强版本。它是由VirtualBox的人开发的。他们用它来建立自己的VirtualBox的产品在Windows,Linux,MacOS和Solaris操作系统。漂亮的便携!
请参阅 http://svn.netlabs.org/kbuild 获得的信息。