diff options
Diffstat (limited to 'scripts/Makefile.dtbinst')
| -rw-r--r-- | scripts/Makefile.dtbinst | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst index 7301ab5e2e06..9d920419a62c 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -8,33 +8,36 @@ # $INSTALL_PATH/dtbs/$KERNELRELEASE # ========================================================================== -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 := $(sort $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS), $(dtb-))) -dtbinst-dirs := $(subdir-y) $(subdir-m) +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) |
