#cpc #builder #amstrad #file-format #build #tool #basm

bin+lib cpclib-bndbuild

Amstrad CPC 项目构建工具。主要针对 basm,但也可以与任何工具一起使用

3 个版本 (重大更新)

新版本 0.6.0 2024 年 8 月 5 日
0.5.1 2024 年 7 月 17 日
0.2.0 2023 年 8 月 15 日

#3 in #cpc

Download history 105/week @ 2024-07-13 20/week @ 2024-07-20 7/week @ 2024-07-27

132 每月下载量
用于 cpclib-visual-bndbuild

MIT 和可能 GPL-3.0-only

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 机器(但这需要几秒钟的时间)。

Animation

格式

规则描述文件必须遵循 yaml 文本文件格式。它最好命名为 bndbuild.yml,但可以通过 -f 参数覆盖。它包含规则列表。每个规则可以有以下键

  • tgt:列出规则构建的文件
  • dep:列出构建规则所需的文件
  • cmd:由规则执行的命令或命令列表。以 - 前缀的命令可以静默失败
  • help:可选的帮助文本,用于描述规则
  • phony:可选的标签,表示规则不生成任何文件(当命令不是外部命令时,它会推断出来)。主要用于 --watch 参数。

命令可以是应用程序内含的(因此仅限于 cpclib 命令和操作系统无关)或外部可访问的(无限制,但与操作系统相关)。它们包括:

  • basm 用于启动 basm 汇编器
  • img2cpc 用于进行 图像转换
  • rm 用于删除文件
  • xfer 用于通过 M4 卡将文件传输到 CPC
  • extern 用于启动机器上可用的任何命令

依赖项

~37–52MB
~809K SLoC