# SPDX-License-Identifier: GPL-2.0
# ==========================================================================
# Installing dtb files
#
# Installs all dtb files listed in $(dtb-y) either in the
# INSTALL_DTBS_PATH directory or the default location:
#
#   $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)
	@:

quiet_cmd_dtb_install = INSTALL $@
      cmd_dtb_install = install -D $< $@

$(dst)/%.dtb: $(obj)/%.dtb
	$(call cmd,dtb_install)

$(dst)/%.dtbo: $(obj)/%.dtbo
	$(call cmd,dtb_install)

PHONY += $(subdirs)
$(subdirs):
	$(Q)$(MAKE) $(dtbinst)=$@ dst=$(patsubst $(obj)/%,$(dst)/%,$@)

.PHONY: $(PHONY)
