Skip to content

Commit

Permalink
kbuild: prefix $(srctree)/ to some included Makefiles
Browse files Browse the repository at this point in the history
VPATH is used in Kbuild to make pattern rules search for prerequisites
in both $(objtree) and $(srctree). Some of *.c, *.S files are not real
sources, but generated by tools such as flex, bison, perl.

In contrast, I doubt the benefit of --include-dir=$(abs_srctree) because
it is always clear which Makefiles are real sources, and which are not.

So, my hope is to add $(srctree)/ prefix to all check-in Makefiles,
then remove --include-dir=$(abs_srctree) flag in the future.

I am touching only some Kbuild core parts for now. Treewide fixes will
be needed to achieve this goal.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
  • Loading branch information
masahir0y committed Mar 15, 2021
1 parent 1e28eed commit 3204a7f
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 17 deletions.
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -339,14 +339,14 @@ __build_one_by_one:

else # !mixed-build

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

# Read KERNELRELEASE from include/config/kernel.release (if it exists)
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION

include scripts/subarch.include
include $(srctree)/scripts/subarch.include

# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -592,7 +592,7 @@ ifdef config-build
# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
# KBUILD_DEFCONFIG may point out an alternative default configuration
# used for 'make defconfig'
include arch/$(SRCARCH)/Makefile
include $(srctree)/arch/$(SRCARCH)/Makefile
export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT

config: outputmakefile scripts_basic FORCE
Expand Down Expand Up @@ -679,7 +679,7 @@ RETPOLINE_VDSO_CFLAGS := $(call cc-option,$(RETPOLINE_VDSO_CFLAGS_GCC),$(call cc
export RETPOLINE_CFLAGS
export RETPOLINE_VDSO_CFLAGS

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

ifdef need-config
ifdef may-sync-config
Expand Down
4 changes: 2 additions & 2 deletions scripts/Makefile.asm-generic
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ src := $(subst /generated,,$(obj))

# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
ifneq ($(SRCARCH),um)
include $(generic)/Kbuild
include $(srctree)/$(generic)/Kbuild
endif

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f)))
Expand Down
8 changes: 4 additions & 4 deletions scripts/Makefile.build
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,27 @@ subdir-ccflags-y :=
# Read auto.conf if it exists, otherwise ignore
-include include/config/auto.conf

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile)
include $(kbuild-file)

include scripts/Makefile.lib
include $(srctree)/scripts/Makefile.lib

# Do not include hostprogs rules unless needed.
# $(sort ...) is used here to remove duplicated words and excessive spaces.
hostprogs := $(sort $(hostprogs))
ifneq ($(hostprogs),)
include scripts/Makefile.host
include $(srctree)/scripts/Makefile.host
endif

# Do not include userprogs rules unless needed.
# $(sort ...) is used here to remove duplicated words and excessive spaces.
userprogs := $(sort $(userprogs))
ifneq ($(userprogs),)
include scripts/Makefile.userprogs
include $(srctree)/scripts/Makefile.userprogs
endif

ifndef obj
Expand Down
2 changes: 1 addition & 1 deletion scripts/Makefile.clean
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ src := $(obj)
PHONY := __clean
__clean:

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
Expand Down
2 changes: 1 addition & 1 deletion scripts/Makefile.dtbinst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ PHONY := __dtbs_install
__dtbs_install:

include include/config/auto.conf
include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include
include $(src)/Makefile

dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
Expand Down
2 changes: 1 addition & 1 deletion scripts/Makefile.headersinst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
PHONY := __headers
__headers:

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

src := $(srctree)/$(obj)
gen := $(objtree)/$(subst include/,include/generated/,$(obj))
Expand Down
2 changes: 1 addition & 1 deletion scripts/Makefile.modinst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
PHONY := __modinst
__modinst:

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

modules := $(sort $(shell cat $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)modules.order))

Expand Down
4 changes: 2 additions & 2 deletions scripts/Makefile.modpost
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ PHONY := __modpost
__modpost:

include include/config/auto.conf
include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

# for ld_flags
include scripts/Makefile.lib
include $(srctree)/scripts/Makefile.lib

MODPOST = scripts/mod/modpost \
$(if $(CONFIG_MODVERSIONS),-m) \
Expand Down
2 changes: 1 addition & 1 deletion scripts/Makefile.modsign
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
PHONY := __modsign
__modsign:

include scripts/Kbuild.include
include $(srctree)/scripts/Kbuild.include

modules := $(sort $(shell cat modules.order))

Expand Down

0 comments on commit 3204a7f

Please sign in to comment.