1*4882a593Smuzhiyun# ========================================================================== 2*4882a593Smuzhiyun# Installing dtb files 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# Installs all dtb files listed in $(dtb-y) either in the 5*4882a593Smuzhiyun# INSTALL_DTBS_PATH directory or the default location: 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun# $INSTALL_PATH/dtbs/$KERNELRELEASE 8*4882a593Smuzhiyun# 9*4882a593Smuzhiyun# Traverse through subdirectories listed in $(dts-dirs). 10*4882a593Smuzhiyun# ========================================================================== 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunsrc := $(obj) 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunPHONY := __dtbs_install 15*4882a593Smuzhiyun__dtbs_install: 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunexport dtbinst-root ?= $(obj) 18*4882a593Smuzhiyun 19*4882a593Smuzhiyuninclude include/config/auto.conf 20*4882a593Smuzhiyuninclude scripts/Kbuild.include 21*4882a593Smuzhiyuninclude $(src)/Makefile 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunPHONY += __dtbs_install_prep 24*4882a593Smuzhiyun__dtbs_install_prep: 25*4882a593Smuzhiyunifeq ("$(dtbinst-root)", "$(obj)") 26*4882a593Smuzhiyun $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi 27*4882a593Smuzhiyun $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi 28*4882a593Smuzhiyun $(Q)mkdir -p $(INSTALL_DTBS_PATH) 29*4882a593Smuzhiyunendif 30*4882a593Smuzhiyun 31*4882a593Smuzhiyundtbinst-files := $(dtb-y) 32*4882a593Smuzhiyundtbinst-dirs := $(dts-dirs) 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# Helper targets for Installing DTBs into the boot directory 35*4882a593Smuzhiyunquiet_cmd_dtb_install = INSTALL $< 36*4882a593Smuzhiyun cmd_dtb_install = mkdir -p $(2); cp $< $(2) 37*4882a593Smuzhiyun 38*4882a593Smuzhiyuninstall-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj)) 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun$(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun$(dtbinst-files): %.dtb: $(obj)/%.dtb 43*4882a593Smuzhiyun $(call cmd,dtb_install,$(install-dir)) 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun$(dtbinst-dirs): 46*4882a593Smuzhiyun $(Q)$(MAKE) $(dtbinst)=$(obj)/$@ 47*4882a593Smuzhiyun 48*4882a593SmuzhiyunPHONY += $(dtbinst-files) $(dtbinst-dirs) 49*4882a593Smuzhiyun__dtbs_install: $(dtbinst-files) $(dtbinst-dirs) 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun.PHONY: $(PHONY) 52