lkml.org 
[lkml]   [2018]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 02/85] tools build: Fix Makefile(s) to properly invoke tools build
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jiri Olsa <jolsa@kernel.org>

    commit 16671c1e1cac2dbb995feb4bc55082fd939b5c2c upstream.

    Several fixes were needed to allow following builds:
    $ make tools/tmon
    $ make -C <kernelsrc> tools/perf
    $ make -C <kernelsrc>/tools perf

    - some of the tools (perf) use same make variables as in
    kernel build, unsetting srctree and objtree
    - using original $(O) for O variable
    - perf build does not follow the descend function setup
    invoking it via it's own make rule

    I tried the rest of the tools/Makefile targets and they
    seem to work now.

    Reported-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Brian Norris <computersforpeace@gmail.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Michal Marek <mmarek@suse.cz>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: linux-kbuild@vger.kernel.org
    Link: http://lkml.kernel.org/r/1429389280-18720-3-git-send-email-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    Makefile | 5 ++---
    tools/Makefile | 12 +++++++++++-
    2 files changed, 13 insertions(+), 4 deletions(-)

    --- a/Makefile
    +++ b/Makefile
    @@ -214,7 +214,6 @@ VPATH := $(srctree)$(if $(KBUILD_EXTMOD

    export srctree objtree VPATH

    -
    # SUBARCH tells the usermode build what the underlying arch is. That is set
    # first, and if a usermode build is happening, the "ARCH=um" on the command
    # line overrides the setting of ARCH below. If a native build is happening,
    @@ -1505,11 +1504,11 @@ image_name:
    # Clear a bunch of variables before executing the submake
    tools/: FORCE
    $(Q)mkdir -p $(objtree)/tools
    - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/
    + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/

    tools/%: FORCE
    $(Q)mkdir -p $(objtree)/tools
    - $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/ $*
    + $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/ $*

    # Single targets
    # ---------------------------------------------------------------------------
    --- a/tools/Makefile
    +++ b/tools/Makefile
    @@ -1,3 +1,8 @@
    +# Some of the tools (perf) use same make variables
    +# as in kernel build.
    +export srctree=
    +export objtree=
    +
    include scripts/Makefile.include

    help:
    @@ -54,8 +59,13 @@ liblockdep: FORCE
    libapi: FORCE
    $(call descend,lib/api)

    +# The perf build does not follow the descend function setup,
    +# invoking it via it's own make rule.
    +PERF_O = $(if $(O),$(O)/tools/perf,)
    +
    perf: FORCE
    - $(call descend,$@)
    + $(Q)mkdir -p $(PERF_O) .
    + $(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir=

    selftests: FORCE
    $(call descend,testing/$@)

    \
     
     \ /
      Last update: 2018-07-01 20:50    [W:4.043 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site