跳转至

Antelope

小巧敏捷的 C/C++ 编译链接工具。用一份或多份 JSON 配置描述构建目标,生成静态库、共享库或可执行程序——无需手写构建脚本。

  • 配置即构建脚本


    每个 JSON 配置描述一个构建目标;antel.json 是默认文件名,也可以用多份配置分别构建库、工具和测试,并随源码一起提交、评审。

    配置参考

  • 基于依赖的增量构建


    每个编译单元都记录 -MMD 依赖,改动头文件只重编受影响的源文件;目标文件或依赖文件缺失时自动补编。

    增量构建

  • 诊断聚合


    并行编译的输出按单元捕获:成功只汇总警告数,失败按文件分组整块回放、给出计数,不再被并发刷屏淹没。

    命令与退出码

  • 可视化分析报告


    report: true 或 antel analyze 生成自包含的 report.html:产物、增量状态、编译参数、符号表、头文件依赖、大小分布、动态依赖与日志清单,浏览器直接打开。

    命令参考

  • 版本化共享库


    version / soname / rpath:产出 libX.so.<版本> 与软链,消费端按 SONAME 链接、$ORIGIN rpath 加载。

    配置参考

  • 消毒器与覆盖率


    sanitize: ["address"] / coverage: true 一键注入 ASan 与 gcov 插桩,运行后即可出覆盖率报告。

    配置参考

四条命令上手

python3 antelope_install.py   # 安装 antel 命令
antel init                    # 交互式生成 antel.json
antel rebuild                 # 全量构建
antel run                     # 运行生成的可执行程序

生成物

目标类型 生成物 说明
static lib<项目名>.a 静态库,构建后自动 strip
shared lib<项目名>.so 共享库,经编译器驱动链接
exe <项目名> 可执行程序,可用 antel run 直接执行

编译器支持 gxx(gcc/g++)、llvm(clang)、msvc(cl);共享库与可执行程序的链接目前只实现了 gxx 与 llvm 路径,详见编译器支持。

从哪看起

想做的事 看这一页
先跑通一个最小项目 快速开始
搞清楚 antel.json 的每个字段 配置参考
看完整工程的配置与运行效果 示例与效果图
浏览已验证的公开项目构建案例 成功案例
查命令的参数与退出码 命令参考
理解什么时候会重新编译 增量构建
换编译器或换目标类型 编译器支持
跑测试、打包、发版 开发与发布