Re: [PATCH v5 5/5] tools: Connect to the kernel build system

From: Borislav Petkov
Date: Fri Apr 13 2012 - 06:46:10 EST


On Thu, Apr 12, 2012 at 05:57:34PM +0200, Sam Ravnborg wrote:
> > ifeq ("$(origin W)", "command line")
> > @@ -1473,7 +1478,7 @@ tools/: FORCE
> > $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= -C $(src)/tools/
> >
> > tools/%: FORCE
> > - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= -C $(src)/tools/ $*
> > + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(O) -C $(src)/tools/ $*
>
> I think we can do:
> > + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(KBUILD_OUTPUT) -C $(src)/tools/ $*
> And then avoid the hacks above.

This has the side effect of starting a sub-make in that output directory
and trying to build the kernel i.e. I'm looking at the code around
"ifneq ($(KBUILD_OUTPUT),)":

$ make O=/tmp/pbuild tools/perf
HOSTCC scripts/basic/fixdep
GEN /tmp/pbuild/Makefile
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
***
*** Configuration file ".config" not found!
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[3]: *** [silentoldconfig] Error 1
make[2]: *** [silentoldconfig] Error 2
SUBDIR perf/

but then descends into tools/perf/

...

I haven't looked at the branch where KBUILD_OUTPUT is not empty yet,
maybe there we could do something...

> > # Single targets
> > # ---------------------------------------------------------------------------
> > diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
> > index 87b55a729a5f..297b51d8e4be 100644
> > --- a/tools/scripts/Makefile.include
> > +++ b/tools/scripts/Makefile.include
> > @@ -38,11 +38,18 @@ else
> > NO_SUBDIR = :
> > endif
> >
> > -QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
> > -QUIET_SUBDIR1 =
>
> Who-ever came up with the names "QUIET_SUBDIR" must have had a bad day...
> I think you could do all the tricks using:
>
> QUIET_MAKE = ...
>
> It looks much simpler to use:
>
> foo: bar
> $(QUIET_MAKE) ...
>
> But this is another patch...

Right, so this could probably reuse the quiet_cmd_* machinery from the
toplevel Makefile now...

--
Regards/Gruss,
Boris.

Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach
GM: Alberto Bozzo
Reg: Dornach, Landkreis Muenchen
HRB Nr. 43632 WEEE Registernr: 129 19551
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/