lkml.org 
[lkml]   [2015]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/4] kbuild: use relative path more to include Makefile
    Date
    Prior to this commit, it was impossible to use relative path to
    include Makefiles from the top level Makefile because the option
    "--include-dir=$(srctree)" becomes effective when Make enters into
    sub Makefiles.

    To use relative path in any places, this commit moves the option
    above the "sub-make" target.

    Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
    ---

    Makefile | 22 ++++++++++------------
    arch/mips/Makefile | 2 +-
    arch/um/Makefile | 6 +++---
    arch/x86/Makefile | 2 +-
    arch/x86/Makefile.um | 2 +-
    5 files changed, 16 insertions(+), 18 deletions(-)

    diff --git a/Makefile b/Makefile
    index cc68048..402ff77 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -10,9 +10,10 @@ NAME = Hurr durr I'ma sheep
    # Comments in this file are targeted only to the developer, do not
    # expect to learn how to build the kernel reading this file.

    -# Do not use make's built-in rules and variables
    -# (this increases performance and avoids hard-to-debug behaviour);
    -MAKEFLAGS += -rR
    +# o Do not use make's built-in rules and variables
    +# (this increases performance and avoids hard-to-debug behaviour);
    +# o Look for make include files relative to root of kernel src
    +MAKEFLAGS += -rR --include-dir=$(CURDIR)

    # Avoid funny character set dependencies
    unexport LC_ALL
    @@ -344,12 +345,9 @@ endif
    export COMPILER
    endif

    -# Look for make include files relative to root of kernel src
    -MAKEFLAGS += --include-dir=$(srctree)
    -
    # We need some generic definitions (do not try to remake the file).
    -$(srctree)/scripts/Kbuild.include: ;
    -include $(srctree)/scripts/Kbuild.include
    +scripts/Kbuild.include: ;
    +include scripts/Kbuild.include

    # Make variables (CC, etc...)
    AS = $(CROSS_COMPILE)as
    @@ -533,7 +531,7 @@ ifeq ($(config-targets),1)
    # Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
    # KBUILD_DEFCONFIG may point out an alternative default configuration
    # used for 'make defconfig'
    -include $(srctree)/arch/$(SRCARCH)/Makefile
    +include arch/$(SRCARCH)/Makefile
    export KBUILD_DEFCONFIG KBUILD_KCONFIG

    config: scripts_basic outputmakefile FORCE
    @@ -609,7 +607,7 @@ endif # $(dot-config)
    # Defaults to vmlinux, but the arch makefile usually adds further targets
    all: vmlinux

    -include $(srctree)/arch/$(SRCARCH)/Makefile
    +include arch/$(SRCARCH)/Makefile

    KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)

    @@ -781,8 +779,8 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
    KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
    endif

    -include $(srctree)/scripts/Makefile.kasan
    -include $(srctree)/scripts/Makefile.extrawarn
    +include scripts/Makefile.kasan
    +include scripts/Makefile.extrawarn

    # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
    KBUILD_CPPFLAGS += $(KCPPFLAGS)
    diff --git a/arch/mips/Makefile b/arch/mips/Makefile
    index 8f57fc7..d152dfb 100644
    --- a/arch/mips/Makefile
    +++ b/arch/mips/Makefile
    @@ -225,7 +225,7 @@ endif
    #
    # Board-dependent options and extra files
    #
    -include $(srctree)/arch/mips/Kbuild.platforms
    +include arch/mips/Kbuild.platforms

    ifdef CONFIG_PHYSICAL_START
    load-y = $(CONFIG_PHYSICAL_START)
    diff --git a/arch/um/Makefile b/arch/um/Makefile
    index e4b1a96..17d4460 100644
    --- a/arch/um/Makefile
    +++ b/arch/um/Makefile
    @@ -43,8 +43,8 @@ endif

    HOST_DIR := arch/$(HEADER_ARCH)

    -include $(srctree)/$(ARCH_DIR)/Makefile-skas
    -include $(srctree)/$(HOST_DIR)/Makefile.um
    +include $(ARCH_DIR)/Makefile-skas
    +include $(HOST_DIR)/Makefile.um

    core-y += $(HOST_DIR)/um/

    @@ -73,7 +73,7 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
    $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 -idirafter include

    #This will adjust *FLAGS accordingly to the platform.
    -include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
    +include $(ARCH_DIR)/Makefile-os-$(OS)

    KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/include \
    -I$(srctree)/$(HOST_DIR)/include/uapi \
    diff --git a/arch/x86/Makefile b/arch/x86/Makefile
    index 5ba2d9c..2fda005 100644
    --- a/arch/x86/Makefile
    +++ b/arch/x86/Makefile
    @@ -63,7 +63,7 @@ ifeq ($(CONFIG_X86_32),y)
    $(call cc-option,-fno-unit-at-a-time))

    # CPU-specific tuning. Anything which can be shared with UML should go here.
    - include $(srctree)/arch/x86/Makefile_32.cpu
    + include arch/x86/Makefile_32.cpu
    KBUILD_CFLAGS += $(cflags-y)

    # temporary until string.h is fixed
    diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
    index 95eba55..5b7e898 100644
    --- a/arch/x86/Makefile.um
    +++ b/arch/x86/Makefile.um
    @@ -18,7 +18,7 @@ LDS_EXTRA := -Ui386
    export LDS_EXTRA

    # First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
    -include $(srctree)/arch/x86/Makefile_32.cpu
    +include arch/x86/Makefile_32.cpu

    # prevent gcc from keeping the stack 16 byte aligned. Taken from i386.
    cflags-y += $(call cc-option,-mpreferred-stack-boundary=2)
    --
    1.9.1


    \
     
     \ /
      Last update: 2015-03-27 13:21    [W:4.179 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site