3

想象一下 autoconf 生成的以下目标和命令:

.c.lo:
    $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo

我正在 Makefile.am 中寻找一种方法来操作该命令,我知道该命令是由 autoconf 生成的,但我不知道它是什么。理论上,是这样的:

if BUILD_QUIETLY
    Q=@
endif

.c.lo:
     $(Q)$(autoconf-command-for-c-lo)

或者类似的东西(这类似于 Linux 内核的构建输出):

quiet_cmd_cc = CC     $@
      cmd_cc = $(autoconf-command-for-c-o)

.c.o:
    $(call cmd,cc)

Wherecmd是一个执行cmd_$1并打印quiet_cmd_$1cmd_$1基于变量的函数。

我在互联网上寻找这个,但大多数网站都在谈论 autoconf 的基础知识。这里似乎也没有任何与此相关的问题。

这甚至可能吗?

4

2 回答 2

4

根据chirlu 的评论,automake 可以选择生成安静的输出构建。

此页面有必要的说明。简而言之,将以下内容放入configure.ac

AM_SILENT_RULES([yes])

要禁用它,请执行以下操作:

make V=0

配置后,或:

./configure --enable-silent-rules

关于配置。

于 2013-08-01T14:58:53.193 回答
0

您始终可以将输出通过管道传输到 /dev/null:

./configure 2>&1 >/dev/null
make 2>&1 >/dev/null
于 2020-04-27T16:08:47.203 回答