3 个版本 (重大更新)
新版本 0.6.0 | 2024 年 8 月 5 日 |
---|---|
0.5.1 | 2024 年 7 月 17 日 |
0.2.0 | 2023 年 8 月 15 日 |
#3 in #cpc
132 每月下载量
用于 cpclib-visual-bndbuild
2MB
34K SLoC
Bndbuild
概要
适用于构建 Amstrad CPC 项目的 Makefile 类工具。它嵌入各种 cpclib 工具,如 basm、m4、img2cpc,但也可以执行外部程序,如 rasm、winape。
规则在 yaml
文件中描述。例如,请查看 <tests/dummy> 文件夹中的测试项目。
帮助
Benediction CPC demo project builder
Usage: bndbuilder [OPTIONS] [TARGET]...
Arguments:
[TARGET]...
Provide the target(s) to run.
Options:
-h, --help [<CMD>]
Show the help of the given subcommand CMD.
[default: bndbuild]
[possible values: img2cpc, basm, rm, bndbuild, xfer]
-V, --version
Print version
-f, --file <FILE>
Provide the YAML file for the given project.
[default: bndbuild.yml]
-w, --watch
Watch the targets and permanently rebuild them when needed.
示例
以下是一个示例,用于构建一个模拟的 Amstrad CPC 项目,并通过 m4 在真实机器上执行。它位于 <tests/dummy> 目录中。在没有任何文件被修改的情况下,连续调用构建任务不会执行任何操作。还可以监视特定任务的依赖项,当它们被修改时自动构建它。这在捕获中无法看到,但每次启动 m4 命令时,项目都会发送到 CPC 机器(但这需要几秒钟的时间)。
格式
规则描述文件必须遵循 yaml
文本文件格式。它最好命名为 bndbuild.yml
,但可以通过 -f
参数覆盖。它包含规则列表。每个规则可以有以下键
tgt
:列出规则构建的文件dep
:列出构建规则所需的文件cmd
:由规则执行的命令或命令列表。以-
前缀的命令可以静默失败help
:可选的帮助文本,用于描述规则phony
:可选的标签,表示规则不生成任何文件(当命令不是外部命令时,它会推断出来)。主要用于--watch
参数。
命令可以是应用程序内含的(因此仅限于 cpclib 命令和操作系统无关)或外部可访问的(无限制,但与操作系统相关)。它们包括:
依赖项
~37–52MB
~809K SLoC