有没有办法让 Shake(构建系统)显示所有生成的规则

Is there a way to get Shake (build system) to show all the Rules that were generated

我有很多规则是通过调用带有参数的函数生成的(类似的规则会根据要构建的项目而略有不同),当没有传递参数或传递 "show_all" 作为target 我想列出所有生成的规则。

我该怎么做还是不可能?

使用 Shake v0.17.6,您可以 运行 --help 打印出如下内容:

Usage: my-shake-builder [options] [target] ...

Standard options:
  -a FULL=SHORT, --abbrev=FULL=SHORT
                              Use abbreviation in status messages.
  ... snip ...
  --no-print-directory        Turn off -w, even if it was turned on implicitly.

Extra options:
  --clean                     Clean before building.
  --sleep                     Pause before executing.
  --usepredicate              Use &?> in preference to &%>

Targets:
  - Main.exe
  - **/*.deps
  - **/*.dep
  - **/*.o
  - **/*.hi
  - .pkgs

默认所有具有名称或模式的规则,例如phony%>&%> 等作为名称添加,但您可以通过 addTarget 函数控制它。您可以通过传递 --help 或使用函数 getTargets(这是 --help 在后台使用的函数)来获取列表或目标。