__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).$(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)
