19fb5e537SRobert Richter# ========================================================================== 29fb5e537SRobert Richter# Installing dtb files 39fb5e537SRobert Richter# 49fb5e537SRobert Richter# Installs all dtb files listed in $(dtb-y) either in the 59fb5e537SRobert Richter# INSTALL_DTBS_PATH directory or the default location: 69fb5e537SRobert Richter# 79fb5e537SRobert Richter# $INSTALL_PATH/dtbs/$KERNELRELEASE 89fb5e537SRobert Richter# 9*323a028dSRobert Richter# Traverse through subdirectories listed in $(dts-dirs). 109fb5e537SRobert Richter# ========================================================================== 119fb5e537SRobert Richter 129fb5e537SRobert Richtersrc := $(obj) 139fb5e537SRobert Richter 149fb5e537SRobert RichterPHONY := __dtbs_install 159fb5e537SRobert Richter__dtbs_install: 169fb5e537SRobert Richter 17*323a028dSRobert Richterexport dtbinst-root ?= $(obj) 18*323a028dSRobert Richter 199fb5e537SRobert Richterinclude include/config/auto.conf 209fb5e537SRobert Richterinclude scripts/Kbuild.include 219fb5e537SRobert Richterinclude $(srctree)/$(obj)/Makefile 229fb5e537SRobert Richter 239fb5e537SRobert RichterPHONY += __dtbs_install_prep 249fb5e537SRobert Richter__dtbs_install_prep: 25*323a028dSRobert Richterifeq ("$(dtbinst-root)", "$(obj)") 269fb5e537SRobert Richter $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi 279fb5e537SRobert Richter $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi 289fb5e537SRobert Richter $(Q)mkdir -p $(INSTALL_DTBS_PATH) 29*323a028dSRobert Richterendif 309fb5e537SRobert Richter 319fb5e537SRobert Richterdtbinst-files := $(dtb-y) 32*323a028dSRobert Richterdtbinst-dirs := $(dts-dirs) 339fb5e537SRobert Richter 349fb5e537SRobert Richter# Helper targets for Installing DTBs into the boot directory 359fb5e537SRobert Richterquiet_cmd_dtb_install = INSTALL $< 36*323a028dSRobert Richter cmd_dtb_install = mkdir -p $(2); cp $< $(2) 379fb5e537SRobert Richter 38*323a028dSRobert Richterinstall-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj)) 399fb5e537SRobert Richter 40*323a028dSRobert Richter$(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep 41*323a028dSRobert Richter 42*323a028dSRobert Richter$(dtbinst-files): %.dtb: $(obj)/%.dtb 43*323a028dSRobert Richter $(call cmd,dtb_install,$(install-dir)) 44*323a028dSRobert Richter 45*323a028dSRobert Richter$(dtbinst-dirs): 46*323a028dSRobert Richter $(Q)$(MAKE) $(dtbinst)=$(obj)/$@ 47*323a028dSRobert Richter 48*323a028dSRobert RichterPHONY += $(dtbinst-files) $(dtbinst-dirs) 49*323a028dSRobert Richter__dtbs_install: $(dtbinst-files) $(dtbinst-dirs) 509fb5e537SRobert Richter 519fb5e537SRobert Richter.PHONY: $(PHONY) 52