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/