Re: [PATCH] Fix compiler message generation

From: Michal Marek
Date: Fri Jul 04 2014 - 08:38:57 EST


On Wed, Jul 02, 2014 at 02:34:10PM +0100, David Howells wrote:
> Michal Marek <mmarek@xxxxxxx> wrote:
>
> > From 5b59dcacf358f143b9fb39d2f788142ab9ba3e00 Mon Sep 17 00:00:00 2001
> > From: Michal Marek <mmarek@xxxxxxx>
> > Date: Wed, 2 Jul 2014 14:28:26 +0200
> > Subject: [PATCH] kbuild: Print the name of the build directory
> >
> > With commit 9da0763b (kbuild: Use relative path when building in a
> > subdir of the source tree), the compiler messages include relative
> > paths. These are however relative to the build directory, not the
> > directory where make was started. Print the "Entering directory ..."
> > message once, so that IDEs/editors can find the source files.
> >
> > Signed-off-by: Michal Marek <mmarek@xxxxxxx>
> > ---
> > Makefile | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/Makefile b/Makefile
> > index 97b2861..40544a0 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -126,7 +126,10 @@ PHONY += $(MAKECMDGOALS) sub-make
> > $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
> > @:
> >
> > +# Fake the "Entering directory" message once, so that IDEs/editors are
> > +# able to understand relative filenames.
> > sub-make: FORCE
> > + @echo "make[1]: Entering directory \`$(KBUILD_OUTPUT)'"
> > $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
> > KBUILD_SRC=$(CURDIR) \
> > KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \
>
> Works for me with emacs.
>
> Acked-by: David Howells <dhowells@xxxxxxxxxx>

I found a regression today... after I had sent a pull request to Linus
yesterday :-/. The message is also printed by 'make -s', which is not
what the user expects from a silent mode. The following patch fixes it: