Commit a2430b25 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: add kbuild-file macro



While building, installing, cleaning, Kbuild visits sub-directories
and includes 'Kbuild' or 'Makefile' that exists there.

Add 'kbuild-file' macro, and reuse it from scripts/Makefie.*

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
Reviewed-by: default avatarAlexander Lobakin <alobakin@pm.me>
Tested-by: default avatarAlexander Lobakin <alobakin@pm.me>
parent 5724ac55
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -40,6 +40,11 @@ escsq = $(subst $(squote),'\$(squote)',$1)
# Quote a string to pass it to C files. foo => '"foo"'
stringify = $(squote)$(quote)$1$(quote)$(squote)

###
# The path to Kbuild or Makefile. Kbuild has precedence over Makefile.
kbuild-dir = $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
kbuild-file = $(or $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Makefile)

###
# Easy method for doing a status message
       kecho := :
+3 −3
Original line number Diff line number Diff line
@@ -10,15 +10,15 @@ PHONY := all
all:

src := $(subst /generated,,$(obj))
-include $(src)/Kbuild

include $(srctree)/scripts/Kbuild.include
-include $(kbuild-file)

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

include $(srctree)/scripts/Kbuild.include

redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
redundant += $(foreach f, $(generic-y), $(if $(wildcard $(srctree)/$(src)/$(f)),$(f)))
redundant := $(sort $(redundant))
+1 −5
Original line number Diff line number Diff line
@@ -38,11 +38,7 @@ subdir-ccflags-y :=

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

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

include $(kbuild-file)
include $(srctree)/scripts/Makefile.lib

# Do not include hostprogs rules unless needed.
+1 −4
Original line number Diff line number Diff line
@@ -9,10 +9,7 @@ PHONY := __clean
__clean:

include $(srctree)/scripts/Kbuild.include

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

# Figure out what we need to build from the various variables
# ==========================================================================
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ __dtbs_install:

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

dtbs    := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m))
Loading