Implement automake-style silent-rules
authorEmil Mikulic <emikulic@gmail.com>
Mon, 20 Jun 2011 12:17:14 +0000 (22:17 +1000)
committerEmil Mikulic <emikulic@gmail.com>
Tue, 21 Jun 2011 12:22:28 +0000 (22:22 +1000)
Prompted by: Malte S. Stretz

Makefile.in
configure.ac

index 549224f..b6b65ff 100644 (file)
@@ -4,6 +4,15 @@
 # You may use, modify and redistribute this file under the terms of the
 # GNU General Public License version 2. (see COPYING.GPL)
 
+# silent-rules
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+
 CC = @CC@
 CFLAGS = @CFLAGS@
 CPP = @CPP@
@@ -54,12 +63,12 @@ graphjs.h
 all: darkstat
 
 darkstat: $(OBJS)
-       @echo "===> Linking $@"
-       @$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
+       $(AM_V_CC)
+       $(AM_V_at)$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
 
 .c.o:
-       @echo "===> Compiling $@"
-       @$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
+       $(AM_V_CC)
+       $(AM_V_at)$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
 
 clean:
        rm -f darkstat
@@ -87,8 +96,8 @@ stylecss.h: static/style.css c-ify
        ./c-ify style_css <static/style.css >$@
 
 c-ify: static/c-ify.c
-       @echo "==> Compiling $@"
-       @$(HOSTCC) $(HOSTCFLAGS) static/c-ify.c -o $@
+       $(AM_V_CC)
+       $(AM_V_at)$(HOSTCC) $(HOSTCFLAGS) static/c-ify.c -o $@
 
 install: darkstat
        $(INSTALL) -d $(DESTDIR)$(sbindir)
index df12f16..55dbfcb 100644 (file)
@@ -40,6 +40,16 @@ AC_DEFINE_UNQUOTED(PRIVDROP_USER, "$_pdu", [User to privdrop to.])
 AC_PROG_INSTALL
 AC_PROG_CC
 
+m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
+AC_ARG_ENABLE([silent-rules],
+[  --enable-silent-rules          less verbose build output (undo: 'make V=1')
+  --disable-silent-rules         verbose build output (undo: 'make V=0')])
+case $enable_silent_rules in
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=0;;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])
+
 # Let user disable debugging symbols so we create smaller binaries.
 AC_MSG_CHECKING(if we want debug code)
 AC_ARG_ENABLE(debug, AS_HELP_STRING([--disable-debug],