1 # SPDX-License-Identifier: GPL-2.0
2 DT_DOC_CHECKER ?
= dt-doc-validate
3 DT_EXTRACT_EX ?
= dt-extract-example
4 DT_MK_SCHEMA ?
= dt-mk-schema
6 quiet_cmd_chk_binding
= CHKDT
$(patsubst $(srctree
)/%,%,$<)
7 cmd_chk_binding
= $(DT_DOC_CHECKER
) -u
$(srctree
)/$(src
) $< ; \
8 $(DT_EXTRACT_EX
) $< > $@
10 $(obj
)/%.example.dts
: $(src
)/%.yaml FORCE
11 $(call if_changed
,chk_binding
)
13 # Use full schemas when checking %.example.dts
14 DT_TMP_SCHEMA
:= $(obj
)/processed-schema-examples.yaml
16 quiet_cmd_mk_schema
= SCHEMA
$@
17 cmd_mk_schema
= $(DT_MK_SCHEMA
) $(DT_MK_SCHEMA_FLAGS
) -o
$@
$(real-prereqs
)
19 DT_DOCS
= $(addprefix $(src
)/, \
21 cd
$(srctree
)/$(src
) && \
22 find
* \
( -name
'*.yaml' ! \
23 -name
'processed-schema*' ! \
24 -name
'*.example.dt.yaml' \
) \
27 DT_SCHEMA_FILES ?
= $(DT_DOCS
)
29 extra-
$(CHECK_DT_BINDING
) += $(patsubst $(src
)/%.yaml
,%.example.dts
, $(DT_SCHEMA_FILES
))
30 extra-
$(CHECK_DT_BINDING
) += $(patsubst $(src
)/%.yaml
,%.example.dt.yaml
, $(DT_SCHEMA_FILES
))
31 extra-
$(CHECK_DT_BINDING
) += processed-schema-examples.yaml
33 override DTC_FLAGS
:= \
34 -Wno-avoid_unnecessary_addr_size \
35 -Wno-graph_child_address
37 $(obj
)/processed-schema-examples.yaml
: $(DT_DOCS
) FORCE
38 $(call if_changed
,mk_schema
)
40 $(obj
)/processed-schema.yaml
: DT_MK_SCHEMA_FLAGS
:= -u
41 $(obj
)/processed-schema.yaml
: $(DT_SCHEMA_FILES
) FORCE
42 $(call if_changed
,mk_schema
)
44 extra-y
+= processed-schema.yaml