如何使用automake启用安静构建?

问题描述 投票:1回答:2

想象一下以下由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内核的build输出):

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

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

cmd是执行cmd_$1并根据变量打印quiet_cmd_$1cmd_$1的功能。

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

这甚至有可能吗?

automake
2个回答
1
投票

chirlu's comment,automake可以选择生成安静的输出版本。

This page具有必要的说明。简而言之,将以下内容放入configure.ac

AM_SILENT_RULES([yes])

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

make V=0

配置后,或:

./configure --enable-silent-rules

根据配置。


0
投票

您总是可以将输出通过管道传递到/ dev / null:

./configure 2>&1 >/dev/null
make 2>&1 >/dev/null
© www.soinside.com 2019 - 2024. All rights reserved.