kbuild: do not require sub-make for separate output tree builds

As explained in commit 3204a7fb98 ("kbuild: prefix $(srctree)/ to some
included Makefiles"), I want to stop using --include-dir some day.

I already fixed up the top Makefile, but some arch Makefiles (mips, um,
x86) still include check-in Makefiles without $(srctree)/.

Fix them up so 'need-sub-make := 1' can go away for this case.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Masahiro Yamada 2021-07-25 03:35:56 +09:00
parent a325db2d8f
commit d828563955
4 changed files with 7 additions and 8 deletions

View File

@ -191,10 +191,9 @@ endif
ifneq ($(abs_srctree),$(abs_objtree)) ifneq ($(abs_srctree),$(abs_objtree))
# Look for make include files relative to root of kernel src # Look for make include files relative to root of kernel src
# #
# This does not become effective immediately because MAKEFLAGS is re-parsed # --included-dir is added for backward compatibility, but you should not rely on
# once after the Makefile is read. We need to invoke sub-make. # it. Please add $(srctree)/ prefix to include Makefiles in the source tree.
MAKEFLAGS += --include-dir=$(abs_srctree) MAKEFLAGS += --include-dir=$(abs_srctree)
need-sub-make := 1
endif endif
ifneq ($(filter 3.%,$(MAKE_VERSION)),) ifneq ($(filter 3.%,$(MAKE_VERSION)),)

View File

@ -254,7 +254,7 @@ endif
# #
# Board-dependent options and extra files # Board-dependent options and extra files
# #
include arch/mips/Kbuild.platforms include $(srctree)/arch/mips/Kbuild.platforms
ifdef CONFIG_PHYSICAL_START ifdef CONFIG_PHYSICAL_START
load-y = $(CONFIG_PHYSICAL_START) load-y = $(CONFIG_PHYSICAL_START)

View File

@ -41,8 +41,8 @@ endif
HOST_DIR := arch/$(HEADER_ARCH) HOST_DIR := arch/$(HEADER_ARCH)
include $(ARCH_DIR)/Makefile-skas include $(srctree)/$(ARCH_DIR)/Makefile-skas
include $(HOST_DIR)/Makefile.um include $(srctree)/$(HOST_DIR)/Makefile.um
core-y += $(HOST_DIR)/um/ core-y += $(HOST_DIR)/um/
@ -76,7 +76,7 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \
-idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__ -idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__
#This will adjust *FLAGS accordingly to the platform. #This will adjust *FLAGS accordingly to the platform.
include $(ARCH_DIR)/Makefile-os-$(OS) include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/include \ KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/include \
-I$(srctree)/$(HOST_DIR)/include/uapi \ -I$(srctree)/$(HOST_DIR)/include/uapi \

View File

@ -75,7 +75,7 @@ ifeq ($(CONFIG_X86_32),y)
KBUILD_CFLAGS += $(call cc-option,$(cc_stack_align4)) KBUILD_CFLAGS += $(call cc-option,$(cc_stack_align4))
# CPU-specific tuning. Anything which can be shared with UML should go here. # CPU-specific tuning. Anything which can be shared with UML should go here.
include arch/x86/Makefile_32.cpu include $(srctree)/arch/x86/Makefile_32.cpu
KBUILD_CFLAGS += $(cflags-y) KBUILD_CFLAGS += $(cflags-y)
# temporary until string.h is fixed # temporary until string.h is fixed