Cook 是一个实验性的构建系统,与 ekam 非常相似,Cook 更像是一个反向生成文件:它将自动找出所需的依赖项,而非人工指定。Cook 由 C++ 编写,专注于编译 C 和 C++。当前处于预测试阶段,探索构建系统的潜在可能性。
Cook 能完成以下功能:
-
C++ 编译
-
从 .o 文件中提取符号
-
符号依赖求解
-
将包含主符号的文件与直接依赖项进行链接
-
支持基础的 YAML 配置文件
-
基于 inotify 的连续构建
-
头文件感知
未来规划功能包括:默认值、并行构建、emacs 集成、自动工具文件生成依赖关系。
Cook 仅适用于基于 Linux 的系统,因为它依赖于 inotify。编写时采用 C++11 标准,需配合现代编译器(如 gcc 或 clang),并依赖 jansson 解析 YAML 配置文件。整个构建过程需要 GNU Make 和 autoconf 支持。
暂无评论