递归/不稳定的构建系统?

时间:2012-11-14 14:52:06

标签: build makefile

是否存在具有以下条件的现有构建系统?

  • 嵌套/递归。即没有“顶级”构建文件,如CMake或(非递归)make或几乎所有其他构建系统。
  • 源内构建。这是构建系统可以干净地嵌套/递归所必需的。
  • 自动依赖扫描多种语言
  • 具有声明性而非命令式语法的配置文件
  • 配置文件语法支持添加任意自定义构建规则
  • 没有IDE项目生成膨胀
  • 没有用于跨平台实施的showstoppers
  • 基于哈希的变更检测(或至少〜某事件)优于时间戳
  • 免费软件

基本上,我想要的是在系统范围内管理软件构建依赖关系的任务,但仍然是极简主义和高效的。我希望一个精神上的继承者能够让大多数开源世界都能接受它。最接近的是什么?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

Makepp接近了,我已经用过了。由于某种原因,它没有太大的牵引力,但......潜在的缺点:

  • 使用perl而不是系统编程语言实现,因此对黑客感兴趣的开发人员较少?
  • 不合适,更难以认真对待
  • 从Make继承语法;并没有真正强制执行一种正确的做事方式
  • 慢速构建
  • 子目录不会继承父母的信息

答案 2 :(得分:0)

忍者基础设施看起来很有趣。它不是一个独立的构建系统,但它可能会促使某人编写一个非常优雅的前端。也许CMake支持它作为后端将加速它的采用。

http://martine.github.com/ninja/