Michal On Fri, Jul 4, 2014 at 5:38 AM, Michal Marek <mmarek@xxxxxxx> wrote: > 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: > > > From 066b7ed9558087a7957a1128f27d7a3462ff117f Mon Sep 17 00:00:00 2001 > From: Michal Marek <mmarek@xxxxxxx> > Date: Fri, 4 Jul 2014 14:29:30 +0200 > Subject: [PATCH] kbuild: Do not print the build directory with make -s > > Commit c2e28dc9 (kbuild: Print the name of the build directory) prints > the name of the build directory for O= builds, but we should not be > doing this in make -s mode, so that commands like > > make -s O=<dir> kernelrelease > > can be used by scripts. This matches the behavior of make itself, where > the -s option implies --no-print-directory. > > Signed-off-by: Michal Marek <mmarek@xxxxxxx> > --- > Makefile | 97 +++++++++++++++++++++++++++++++++------------------------------- > 1 file changed, 50 insertions(+), 47 deletions(-) This fixes the build error I was running into. Our build system effectively calls "make -s kernelrelease" and was getting tripped up. I haven't extensively reviewed your fix but I have tested it. Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html