diff --git a/Makefile b/Makefile index 12263102669..a647b035433 100644 --- a/Makefile +++ b/Makefile @@ -978,12 +978,12 @@ define filechk_generated_dts_board.h if test -e $(ZEPHYR_BASE)/dts/$(ARCH)/$(BOARD_NAME).fixup; then \ $(ZEPHYR_BASE)/scripts/dts/extract_dts_includes.py \ -d dts/$(ARCH)/$(BOARD_NAME).dts_compiled \ - -y $(ZEPHYR_BASE)/dts/$(ARCH)/yaml \ + -y $(ZEPHYR_BASE)/dts \ -f $(ZEPHYR_BASE)/dts/$(ARCH)/$(BOARD_NAME).fixup; \ else \ $(ZEPHYR_BASE)/scripts/dts/extract_dts_includes.py \ -d dts/$(ARCH)/$(BOARD_NAME).dts_compiled \ - -y $(ZEPHYR_BASE)/dts/$(ARCH)/yaml; \ + -y $(ZEPHYR_BASE)/dts; \ fi; \ ) endef @@ -991,7 +991,7 @@ define filechk_generated_dts_board.conf (echo "# WARNING. THIS FILE IS AUTO-GENERATED. DO NOT MODIFY!"; \ $(ZEPHYR_BASE)/scripts/dts/extract_dts_includes.py \ -d dts/$(ARCH)/$(BOARD_NAME).dts_compiled \ - -y $(ZEPHYR_BASE)/dts/$(ARCH)/yaml -k; \ + -y $(ZEPHYR_BASE)/dts -k; \ ) endef else diff --git a/scripts/dts/extract_dts_includes.py b/scripts/dts/extract_dts_includes.py index 68f13c5b28d..edaea1b9d6b 100755 --- a/scripts/dts/extract_dts_includes.py +++ b/scripts/dts/extract_dts_includes.py @@ -4,7 +4,7 @@ import sys from os import listdir -import os +import os, fnmatch import re import yaml import argparse @@ -743,17 +743,9 @@ def main(): # scan YAML files and find the ones we are interested in yaml_files = [] - for filename in listdir(args.yaml): - if re.match('.*\.yaml\Z', filename): - yaml_files.append(os.path.realpath(args.yaml + '/' + filename)) - - # scan common YAML files and find the ones we are interested in - zephyrbase = os.environ.get('ZEPHYR_BASE') - if zephyrbase is not None: - for filename in listdir(zephyrbase + '/dts/common/yaml'): - if re.match('.*\.yaml\Z', filename): - yaml_files.append(os.path.realpath( - zephyrbase + '/dts/common/yaml/' + filename)) + for root, dirnames, filenames in os.walk(args.yaml): + for filename in fnmatch.filter(filenames, '*.yaml'): + yaml_files.append(os.path.join(root, filename)) yaml_list = {} file_load_list = set()