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

时间:2018-10-10 21:41:13

标签: haskell shake-build-system

我通过调用带有参数的函数生成了很多规则(类似的规则会根据要构建的项目而略有不同),并且在没有参数传递或将“ show_all”作为目标传递时喜欢列出所有生成的规则。

我该怎么办?还是不可能?

1 个答案:

答案 0 :(得分:1)

使用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的主要作用)来获得列表或目标。