1*4f0e3a57SRob Herring# SPDX-License-Identifier: GPL-2.0 2*4f0e3a57SRob HerringDT_DOC_CHECKER ?= dt-doc-validate 3*4f0e3a57SRob HerringDT_EXTRACT_EX ?= dt-extract-example 4*4f0e3a57SRob HerringDT_MK_SCHEMA ?= dt-mk-schema 5*4f0e3a57SRob HerringDT_MK_SCHEMA_FLAGS := $(if $(DT_SCHEMA_FILES), -u) 6*4f0e3a57SRob Herring 7*4f0e3a57SRob Herringquiet_cmd_chk_binding = CHKDT $(patsubst $(srctree)/%,%,$<) 8*4f0e3a57SRob Herring cmd_chk_binding = $(DT_DOC_CHECKER) $< ; \ 9*4f0e3a57SRob Herring $(DT_EXTRACT_EX) $< > $@ 10*4f0e3a57SRob Herring 11*4f0e3a57SRob Herring$(obj)/%.example.dts: $(src)/%.yaml FORCE 12*4f0e3a57SRob Herring $(call if_changed,chk_binding) 13*4f0e3a57SRob Herring 14*4f0e3a57SRob HerringDT_TMP_SCHEMA := processed-schema.yaml 15*4f0e3a57SRob Herringextra-y += $(DT_TMP_SCHEMA) 16*4f0e3a57SRob Herring 17*4f0e3a57SRob Herringquiet_cmd_mk_schema = SCHEMA $@ 18*4f0e3a57SRob Herring cmd_mk_schema = $(DT_MK_SCHEMA) $(DT_MK_SCHEMA_FLAGS) -o $@ $(filter-out FORCE, $^) 19*4f0e3a57SRob Herring 20*4f0e3a57SRob HerringDT_DOCS = $(shell cd $(srctree)/$(src) && find * -name '*.yaml') 21*4f0e3a57SRob HerringDT_SCHEMA_FILES ?= $(addprefix $(src)/,$(DT_DOCS)) 22*4f0e3a57SRob Herring 23*4f0e3a57SRob Herringextra-y += $(patsubst $(src)/%.yaml,%.example.dts, $(DT_SCHEMA_FILES)) 24*4f0e3a57SRob Herringextra-y += $(patsubst $(src)/%.yaml,%.example.dtb, $(DT_SCHEMA_FILES)) 25*4f0e3a57SRob Herring 26*4f0e3a57SRob Herring$(obj)/$(DT_TMP_SCHEMA): $(DT_SCHEMA_FILES) FORCE 27*4f0e3a57SRob Herring $(call if_changed,mk_schema) 28