android_kernel_xiaomi_sm7250/scripts/Makefile.dtbo
Woody Lin 0dd54848bb build-dtbo: Support base dtbs which located in foreign folder
The temp output file path of command `DTC_OVERLAY_TEST' is
$(dot-target).<related-path-to-base_dtb>.tmp. That is, when
<related-path-to-base_dtb> has ```/''' included (e.g.:
../vendor/chipset-ver.xyz.dtb), the `DTC_OVERLAY_TEST' might return fail
because destination dir is yet created for writing the output file.

This change substitutes all the ```/''' in <related-path-to-base_dtb>
into ```-''' to fix this problem.

Change-Id: I921e41982f11ba1d95668849f28a74370ed6700c
Signed-off-by: Woody Lin <woodylin@google.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2022-02-05 16:30:14 +01:00

31 lines
802 B
Makefile

# SPDX-License-Identifier: GPL-2.0
__dtbo := $(sort $(dtbo-y))
dtbo-base := $(sort $(foreach m,$(__dtbo),$($(m)-base)))
dtbo := $(foreach m,$(__dtbo),$(if $($(m)-base),$(m)))
__dtbo := $(addprefix $(obj)/,$(__dtbo))
dtbo-base := $(addprefix $(obj)/,$(dtbo-base))
dtbo := $(addprefix $(obj)/,$(dtbo))
ifneq ($(DTC_OVERLAY_TEST_EXT),)
DTC_OVERLAY_TEST = $(DTC_OVERLAY_TEST_EXT)
quiet_cmd_dtbo_verify = VERIFY $@
cmd_dtbo_verify = $(foreach m,\
$(addprefix $(obj)/,$($(@F)-base)),\
$(if $(m),\
$(DTC_OVERLAY_TEST) $(m) $@ \
$(dot-target).$(subst /,-,$(patsubst $(obj)/%.dtb,%,$(m))).tmp;))\
true
else
cmd_dtbo_verify = true
endif
$(obj)/%.dtbo: $(src)/%.dts FORCE
$(call if_changed_dep,dtc)
$(call if_changed,dtbo_verify)
$(call multi_depend, $(dtbo), , -base)
always += $(dtbo)