# 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 scripts/Kbuild.include
include $(src)/Makefile

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 -m 0644 $< $@

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

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

.PHONY: $(PHONY)
