[PATCH 6/7] Pass --no-print-directory to make

Peter Hutterer peter.hutterer at who-t.net
Wed Aug 21 21:50:01 PDT 2013


On Sat, Aug 17, 2013 at 01:58:18PM +0200, David Herrmann wrote:
> The "Entering/Leaving directroy /xyz" messages only add noise to
> make-output. Even without we still get short hints which directory is
> currently processed. Compare the two outputs below:
> 
> With --no-print-directory added:
>   make --no-print-directory all-recursive
>   Making all in doc
>   doxygen libevdev.doxygen
>   Making all in libevdev
>   python2 ./make-event-names.py --output=c > event-names.h
>   make  all-am
>     CC       libevdev.lo
>     CCLD     libevdev.la
>   Making all in tools
>     CC       libevdev-events.o
>     CCLD     libevdev-events
>   Making all in test
>     CC       test-main.o
>     CC       test-event-names.o
>     CC       test-libevdev-init.o
>     CC       test-libevdev-has-event.o
>     CC       test-int-queue.o
>     CC       test-libevdev-events.o
>     CC       libevdev.o
>     CC       test-common-uinput.o
>     CC       test-common.o
>     CCLD     test-libevdev
> 
> Without it:
>   make  all-recursive
>   make[1]: Entering directory `/home/david/dev/libevdev'
>   Making all in doc
>   make[2]: Entering directory `/home/david/dev/libevdev/doc'
>   doxygen libevdev.doxygen
>   make[2]: Leaving directory `/home/david/dev/libevdev/doc'
>   Making all in libevdev
>   make[2]: Entering directory `/home/david/dev/libevdev/libevdev'
>   python2 ./make-event-names.py --output=c > event-names.h
>   make  all-am
>   make[3]: Entering directory `/home/david/dev/libevdev/libevdev'
>     CC       libevdev.lo
>     CCLD     libevdev.la
>   make[3]: Leaving directory `/home/david/dev/libevdev/libevdev'
>   make[2]: Leaving directory `/home/david/dev/libevdev/libevdev'
>   Making all in tools
>   make[2]: Entering directory `/home/david/dev/libevdev/tools'
>     CC       libevdev-events.o
>     CCLD     libevdev-events
>   make[2]: Leaving directory `/home/david/dev/libevdev/tools'
>   Making all in test
>   make[2]: Entering directory `/home/david/dev/libevdev/test'
>     CC       test-main.o
>     CC       test-event-names.o
>     CC       test-libevdev-init.o
>     CC       test-libevdev-has-event.o
>     CC       test-int-queue.o
>     CC       test-libevdev-events.o
>     CC       libevdev.o
>     CC       test-common-uinput.o
>     CC       test-common.o
>     CCLD     test-libevdev
>   make[2]: Leaving directory `/home/david/dev/libevdev/test'
>   make[2]: Entering directory `/home/david/dev/libevdev'
>   make[2]: Leaving directory `/home/david/dev/libevdev'
>   make[1]: Leaving directory `/home/david/dev/libevdev'
> 
> We don't really win any useful information from these messages.

fwiw, I like them for debugging, it's a lot easier to figure out what
directory something fails in when you're looking at build logs. 
the problem though with --no-print-directory is that it's not hooked into
automake's silent rules, so once enabled, even a make V=1 won't re-enable
them.

there's probably a special hell for this but this would fit the bill:

diff --git a/Makefile.am b/Makefile.am
index 8a3f4cf..c575d9e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-AM_MAKEFLAGS = --no-print-directory
+AM_MAKEFLAGS = $(word 1, $(subst 1, -w, $(filter 1, $(V))) --no-print-directory)
 SUBDIRS = doc libevdev tools test
 
 pkgconfigdir = $(libdir)/pkgconfig

if there's a sane way to do this, I'm all ears.

Cheers,
   Peter


> Signed-off-by: David Herrmann <dh.herrmann at gmail.com>
> ---
>  Makefile.am | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Makefile.am b/Makefile.am
> index e622c1d..8a3f4cf 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,4 +1,5 @@
>  ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
> +AM_MAKEFLAGS = --no-print-directory
>  SUBDIRS = doc libevdev tools test
>  
>  pkgconfigdir = $(libdir)/pkgconfig
> -- 
> 1.8.3.4
> 


More information about the Input-tools mailing list