summaryrefslogtreecommitdiff
path: root/scripts/Makefile.dtbinst
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Makefile.dtbinst')
-rw-r--r--scripts/Makefile.dtbinst42
1 files changed, 22 insertions, 20 deletions
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
index 34614a48b717..9d920419a62c 100644
--- a/scripts/Makefile.dtbinst
+++ b/scripts/Makefile.dtbinst
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0
# ==========================================================================
# Installing dtb files
#
@@ -5,37 +6,38 @@
# INSTALL_DTBS_PATH directory or the default location:
#
# $INSTALL_PATH/dtbs/$KERNELRELEASE
-#
-# Traverse through subdirectories listed in $(dts-dirs).
# ==========================================================================
-src := $(obj)
-
PHONY := __dtbs_install
__dtbs_install:
-export dtbinst-root ?= $(obj)
-
include include/config/auto.conf
-include scripts/Kbuild.include
-include $(src)/Makefile
+include $(srctree)/scripts/Kbuild.include
+
+dst := $(INSTALL_DTBS_PATH)
+
+quiet_cmd_dtb_install = INSTALL $@
+ cmd_dtb_install = install -D -m 0644 $< $@
+
+$(dst)/%: $(obj)/%
+ $(call cmd,dtb_install)
+
+dtbs := $(patsubst $(obj)/%,%,$(call read-file, $(obj)/dtbs-list))
-dtbinst-files := $(dtb-y)
-dtbinst-dirs := $(dts-dirs)
+ifdef CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
-# Helper targets for Installing DTBs into the boot directory
-quiet_cmd_dtb_install = INSTALL $<
- cmd_dtb_install = mkdir -p $(2); cp $< $(2)
+define gen_install_rules
+$(dst)/%: $(obj)/$(1)%
+ $$(call cmd,dtb_install)
+endef
-install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj))
+$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
-$(dtbinst-files): %.dtb: $(obj)/%.dtb
- $(call cmd,dtb_install,$(install-dir))
+dtbs := $(notdir $(dtbs))
-$(dtbinst-dirs):
- $(Q)$(MAKE) $(dtbinst)=$(obj)/$@
+endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
-PHONY += $(dtbinst-files) $(dtbinst-dirs)
-__dtbs_install: $(dtbinst-files) $(dtbinst-dirs)
+__dtbs_install: $(addprefix $(dst)/, $(dtbs))
+ @:
.PHONY: $(PHONY)