想象一下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)
cmd
是一个执行cmd_$1
并根据变量打印quiet_cmd_$1
或cmd_$1
的函数。
我在互联网上寻找这个,但大多数网站都谈到了autoconf的基础知识。这里似乎没有任何与此相关的问题。
这甚至可能吗?
答案 0 :(得分:1)
Per chirlu's comment,automake可以选择生成安静的输出版本。
This page有必要的说明。简而言之,请将以下内容放入configure.ac
:
AM_SILENT_RULES([yes])
要禁用它,请执行以下操作:
make V=0
配置后,或:
./configure --enable-silent-rules
配置。
答案 1 :(得分:0)
您始终可以将输出通过管道传递到/ dev / null:
./configure 2>&1 >/dev/null
make 2>&1 >/dev/null