如何在 automake 中编写自定义静默规则?

How do I write a custom silent rule in automake?

我正在做一个 automake 项目,我们有一个自定义汇编器、编译器和链接器。

当前构建这些自定义目标显示了整个命令行:

knucc -c -L/some/path/here -I/some/path/include -I/some/other/path -o foobar.o foobar.knucpp

我要如何施展魔法才能将上面的变成这样:

KCXX foobar.o

当我 make V=0 或默认使用 configure --enable-silent-rules 打开静默规则时。

我正在使用 automake v1.14。

我最终在 GNU automake 邮件列表上找到了魔法:http://gnu-automake.7480.n7.nabble.com/AM-V-GEN-better-docs-td3426.html

我能够解决这个问题:

QUIET_KCXX = $(QUIET_KCXX_$(V))
QUIET_KCXX_ = $(QUIET_KCXX_$(AM_DEFAULT_VERBOSITY))
QUIET_KCXX_0 = @printf "  %-5s    " KCXX ; echo $(notdir $@);

.knucxx.o:
    $(QUIET_KCXX) # build command here

现在我在静默构建期间有一条自定义消息。