Build 递归/嵌套构建系统?
是否存在具有以下标准的现有构建系统Build 递归/嵌套构建系统?,build,makefile,Build,Makefile,是否存在具有以下标准的现有构建系统 可嵌套/递归。也就是说,没有像CMake或(非递归)make中那样的“顶级”构建文件,或者几乎没有其他构建系统 在源代码构建中。这是构建系统干净可嵌套/递归所必需的 多种语言的自动依赖项扫描 使用声明性而非命令式语法的配置文件 配置文件语法支持添加任意自定义生成规则 没有IDE项目生成膨胀 没有用于跨平台实现的ShowStopper 基于散列的更改检测(或至少~something)优于时间戳 自由软件 基本上,我想要的是能够在系统范围内管理软件构建依赖项的
- 可嵌套/递归。也就是说,没有像CMake或(非递归)make中那样的“顶级”构建文件,或者几乎没有其他构建系统李>
- 在源代码构建中。这是构建系统干净可嵌套/递归所必需的
- 多种语言的自动依赖项扫描
- 使用声明性而非命令式语法的配置文件
- 配置文件语法支持添加任意自定义生成规则
- 没有IDE项目生成膨胀
- 没有用于跨平台实现的ShowStopper
- 基于散列的更改检测(或至少~something)优于时间戳
- 自由软件
基本上,我想要的是能够在系统范围内管理软件构建依赖项的任务,但仍然是最低限度的和高效的。我希望有一个精神上的继承者,让开放源码世界的大多数人都能接受。最接近的是什么?Makepp很接近,我已经用过了。由于某些原因,它没有太大的牵引力,虽然。。。潜在的不利因素:
- 用perl实现,而不是用系统编程语言实现,那么对它感兴趣的开发人员就更少了
- 不在apt,所以很难认真对待
- 从Make继承语法;并没有真正执行一种正确的做事方式
- 缓慢构建
- 子目录不从父目录继承信息
- 用perl实现,而不是用系统编程语言实现,那么对它感兴趣的开发人员就更少了
- 不在apt,所以很难认真对待
- 从Make继承语法;并没有真正执行一种正确的做事方式
- 缓慢构建
- 子目录不从父目录继承信息
- Makepp很接近,我已经用过了。由于某些原因,它没有太大的牵引力,虽然。。。潜在的不利因素:
忍者基础设施看起来很有趣。它不是一个独立的构建系统,但它可能会促使某人编写一个非常优雅的前端。也许CMake支持它作为后端将加速它的采用
塔普看起来很有趣 和djb重做: 然后摇动:
塔普看起来很有趣 和djb重做: 然后摇动:
我读了更多的内容,看起来tup和redo都在某个根级别建立了数据库。哦,但是哇,tup dev实际上有一个玩具linux发行版,它将所有内容作为git子模块导入,并使用tup构建所有内容!我读了更多,看起来tup和redo都在根级别建立了数据库。哦,但是哇,tup开发人员实际上有一个玩具linux发行版,它将所有内容作为git子模块导入,并使用tup构建所有内容!根据术语的含义,您可能不希望使用递归系统。有关此主题的有趣阅读,请参阅,另请参阅另一个StackOverflow问题:。看看fab。它满足其中几个要求,具体取决于您的意思。值得注意的是,它具有良好的“可嵌套性”,并集成了依赖项发现,尽管目前仅适用于少数语言(但发现功能是可扩展的),但您可能不希望使用递归系统,这取决于您所指的术语。有关此主题的有趣阅读,请参阅,另请参阅另一个StackOverflow问题:。看看fab。它满足其中几个要求,具体取决于您的意思。值得注意的是,它很好地实现了“可嵌套”,并集成了依赖项发现,尽管目前仅适用于少数语言(但发现功能是可扩展的)