8 个版本 (有破坏性更新)
| 0.7.0 | 2021 年 4 月 14 日 |
|---|---|
| 0.6.1 | 2021 年 4 月 7 日 |
| 0.5.0 | 2021 年 4 月 4 日 |
| 0.4.0 | 2021 年 4 月 4 日 |
| 0.1.0 | 2021 年 3 月 27 日 |
#1562 在 开发工具
每月 30 次下载
155KB
4K SLoC
makers
A (主要) POSIX 兼容的 make 工具,用 Rust 实现。并不旨在完全支持 每个 GNU make 功能,但会添加与现有 GNUish makefile 兼容所必需的功能。
通过运行 RUST_LOG=makers=warn 可以获得一些信息,通过运行 RUST_LOG=makers=debug 可以获得更多信息,而通过运行 RUST_LOG=makers=trace 可以获得大量信息(可能仅适用于调试 makefile 或 makers 本身的小量信息)。有关更具体的配置,请参阅 env_logger Rust 包的文档。
一致性
- 国际化(
LANG/LC_ALL/LC_CTYPE/LC_MESSAGES)未实现 - XSI 一致性(SCCS 集成)未实现
- 信号处理未实现
- 库处理未实现
- 一些 POSIX 规定的功能尚未实现(搜索
TODO以获取列表) - 内建宏
MAKE被定义为makers的路径 - 指定
.POSIX特殊目标不会禁用扩展(但您可以通过使用--no-default-features来安装以仅获得 POSIX 行为)
状态
我没有为大多数 makers 编写单元测试,但有一些 集成测试 尝试用 makers 构建各种基于 make 的项目。
测试的具体项目
1.0 版本所需功能的列表
- 在 Linux 上测试过
- 大多数内容的单元测试
- 没有 TODO
变更日志
v0.7.0 - 2021-04-13
- 实现 GNU 风格的函数
abspath、firstword - 实现 GNU 风格的范围推理规则("静态模式")
v0.6.1 - 2021-04-06
- 使
export/unexport真正持久化,以便在执行时可用
v0.6.0 - 2021-04-06
- 实现 GNU 风格的函数
findstring、realpath、dir、lastword、words、subst、error、word、patsubst、addsuffix - 提供 GNU 风格的内建变量
MAKECMDGOALS、CURDIR、MAKEFILE_LIST - 修复嵌套条件处理错误
- 在硬错误之前尝试构建缺失的包含 makefile
- 实现 GNU 风格的
export/unexport指令
v0.5.0 - 2021-04-04
- 添加详细日志记录
- 部分修复
$<(旧:所有依赖项,新:第一个依赖项,指定:由推理规则添加的第一个依赖项) - 如果可以找到,将内建宏
$(MAKE)设置为makers的完整路径 - 将
%-匹配改为拒绝部分模式匹配,但允许%中的所有字符 - 实现 GNU 风格的函数
and、or、strip
v0.4.0 - 2021-04-03
- 修复换行符处理,使转义换行符和条件行按预期工作
- 实现 GNU 风格的
%-匹配推理规则 .PHONY特殊目标的依赖项现在始终假设过时,直到重建,无论文件系统状态如何- 给予用户定义的推理规则高于内建的优先级
v0.3.0 - 2021-04-03
- 允许使用
--no-default-features安装以实现纯 POSIX 兼容性 - 实现 GNU 风格的函数
if、origin、shell(不设置.SHELLSTATUS)、eval - 实现 GNU 风格的
define块 - 改进错误报告
v0.2.0 - 2021-04-01
- 部分实现 GNU 风格的条件(仅支持参数周围的括号)
- 实现一些 GNU 风格的函数:
filter、filter-out、sort、notdir、basename、addprefix、wildcard、foreach、call - 改进解析错误错误报告
v0.1.0 - 2021-03-25
- 初始发布
贡献者
- zseri(代码)
- @Lucretiel(代码)
- 如果你愿意,可以成为贡献者!如果你有东西要贡献(不仅仅是代码!),请通过邮箱 melody@boringcactus.com 联系
许可证
在 Indie Code Catalog Standard Deal 下发布,版本 3.0.0 或更高。
商业许可证可通过 Indie Code Catalog 购买。
minuteæ
正式发音为 /ˈmeɪ.kɹɪz/(好像在说 "make risotto",但半途而废)。
依赖项
~10–21MB
~279K SLoC