Setup.shl

Setup.shl

setup-一个简单的Bash库,用于使用类似Makefile的定义来设置目录结构。在Bash环境中,Setup.shl旨在提供与其他类似make的工具相同的基本功能集:您可以定义配方以从其依赖项创建文件,并针对所有最新的文件执行这些配方,并在可能的情况下并行进行。它是最小的(核心功能可归结为3个主要功能和12个帮助器),并且旨在尽可能简单地学习,同时使用Bash作为其脚本语言提供广泛的可扩展性。优点:-占用空间非常小(整个库的<1000 LoC),这意味着您可以将库作为构建过程的一部分进行捆绑-与其他功能相同的工具相比,减少了学习工作(入门需要10分钟)-可移植所有可以运行Bash的Unix(Linux,MacOS,FreeBSD等)-安装脚本可以使用Bash的所有功能来定义自己的配方和规则-可以监视源文件以进行更改以实现连续构建-可组合:构建脚本可以加载其他构建脚本以透明地集成其产品缺点:-需要Bash> 4.0才能正常运行,这可能需要在某些系统上进行更新-在慢速磁盘上扫描大型构建的所有依赖项可能有点慢(最多可以扫描1000个文件/秒),尽管您可以使用状态文件来缓解问题,如果其他所有方法都失败,则可以连续构建-非常年轻的工具,几乎没有内置规则,很少标准化

分类目录

Linux版Setup.shl的替代品

Maven

Maven

Apache Maven是用于构建自动化和项目管理(在软件开发中)的基于Java的工具。
CMake

CMake

CMake是旨在构建,测试和打包软件的一系列工具。
Gradle

Gradle

Gradle是构建自动化的发展。
GNU Make

GNU Make

Make是用于控制从程序的源文件生成程序的可执行文件和其他非源文件的工具。
SCons

SCons

SCons是一种开源软件构建工具,即下一代构建工具。
MakeMe

MakeMe

Embedthis MakeMe是make和autoconf的现代替代品。
Premake

Premake

强大而简单的构建配置
Ant

Ant

Apache Ant是一个基于Java的开源构建工具(用于软件开发)。它使用XML文件来描述,结构化和控制构建过程。
Ninja Build

Ninja Build

Ninja是一个注重速度的小型构建系统。
waf

waf

Waf是基于Python的框架,用于配置,编译和安装应用程序。
qmake

qmake

qmake是The Qt Company的工具,可帮助简化跨不同平台的开发项目的构建过程。qmake自动执行Makefile的生成,因此只需几行信息即可创建每个Makefile。
Autoconf

Autoconf

宏,用于生成用于自动配置源代码包的外壳程序脚本。
Buck

Buck

Buck是Facebook开发和使用的构建系统。它鼓励创建由代码和资源组成的小型可重用模块,并在许多平台上支持多种语言。
Automake

Automake

自动生成符合GNU编码标准的Makefile.in文件。
tup

tup

Tup是用于Linux,OSX和Windows的基于文件的构建系统。