kbuild: simplify dtbs_install by reading the list of compiled DTBs
Retrieve the list of *.dtb(o) files from arch/*/boot/dts/dtbs-list instead of traversing the directory tree again. Please note that 'make dtbs_install' installs *.dtb(o) files directly added to dtb-y because scripts/Makefile.dtbinst installs $(dtb-y) without expanding the -dtbs suffix. This commit preserves this behavior. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
parent
24507871c3
commit
8f66864cee
2
Makefile
2
Makefile
|
@ -1411,7 +1411,7 @@ endif
|
|||
dtbs_check: dtbs
|
||||
|
||||
dtbs_install:
|
||||
$(Q)$(MAKE) $(dtbinst)=$(dtstree) dst=$(INSTALL_DTBS_PATH)
|
||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.dtbinst obj=$(dtstree)
|
||||
|
||||
ifdef CONFIG_OF_EARLY_FLATTREE
|
||||
all: dtbs
|
||||
|
|
|
@ -113,12 +113,6 @@ endef
|
|||
# $(Q)$(MAKE) $(build)=dir
|
||||
build := -f $(srctree)/scripts/Makefile.build obj
|
||||
|
||||
###
|
||||
# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.dtbinst obj=
|
||||
# Usage:
|
||||
# $(Q)$(MAKE) $(dtbinst)=dir
|
||||
dtbinst := -f $(srctree)/scripts/Makefile.dtbinst obj
|
||||
|
||||
###
|
||||
# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj=
|
||||
# Usage:
|
||||
|
|
|
@ -8,32 +8,36 @@
|
|||
# $INSTALL_PATH/dtbs/$KERNELRELEASE
|
||||
# ==========================================================================
|
||||
|
||||
src := $(obj)
|
||||
|
||||
PHONY := __dtbs_install
|
||||
__dtbs_install:
|
||||
|
||||
include include/config/auto.conf
|
||||
include $(srctree)/scripts/Kbuild.include
|
||||
include $(kbuild-file)
|
||||
|
||||
dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
|
||||
subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m))
|
||||
|
||||
__dtbs_install: $(dtbs) $(subdirs)
|
||||
@:
|
||||
dst := $(INSTALL_DTBS_PATH)
|
||||
|
||||
quiet_cmd_dtb_install = INSTALL $@
|
||||
cmd_dtb_install = install -D $< $@
|
||||
|
||||
$(dst)/%.dtb: $(obj)/%.dtb
|
||||
$(dst)/%: $(obj)/%
|
||||
$(call cmd,dtb_install)
|
||||
|
||||
$(dst)/%.dtbo: $(obj)/%.dtbo
|
||||
$(call cmd,dtb_install)
|
||||
dtbs := $(patsubst $(obj)/%,%,$(call read-file, $(obj)/dtbs-list))
|
||||
|
||||
PHONY += $(subdirs)
|
||||
$(subdirs):
|
||||
$(Q)$(MAKE) $(dtbinst)=$@ dst=$(if $(CONFIG_ARCH_WANT_FLAT_DTB_INSTALL),$(dst),$(patsubst $(obj)/%,$(dst)/%,$@))
|
||||
ifdef CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
|
||||
|
||||
define gen_install_rules
|
||||
$(dst)/%: $(obj)/$(1)%
|
||||
$$(call cmd,dtb_install)
|
||||
endef
|
||||
|
||||
$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
|
||||
|
||||
dtbs := $(notdir $(dtbs))
|
||||
|
||||
endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
|
||||
|
||||
__dtbs_install: $(addprefix $(dst)/, $(dtbs))
|
||||
@:
|
||||
|
||||
.PHONY: $(PHONY)
|
||||
|
|
Loading…
Reference in New Issue