Skip automatic dtsi selection if ARCH is not defined and introduce u_boot_dtsi_search for use with foreach method to implement the automatic dtsi inclusion. Increase code re-use and detail for debug output.
Detailed dtsi automatic selection debug output when DEVICE_TREE_DEBUG=1 - Indicate when key is undefined and skip undefined search pattern - Indicate when search pattern is found or not found, and the pattern - Show values of defined keys Signed-off-by: E Shattow <e...@freeshell.de> --- scripts/Makefile.lib | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 5db2fbc418a..0d70868a339 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -195,21 +195,33 @@ cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(UBOOTINCLUDE) \ ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F)) # Try these files in order to find the U-Boot-specific .dtsi include file +ifneq ($(strip $(ARCH)),) + u_boot_dtsi_loc = $(srctree)/arch/$(ARCH)/dts/ -u_boot_dtsi_options = $(strip $(wildcard $(u_boot_dtsi_loc)$(basename $(notdir $<))-u-boot.dtsi) \ - $(wildcard $(u_boot_dtsi_loc)$(subst $\",,$(CONFIG_SYS_SOC))-u-boot.dtsi) \ - $(wildcard $(u_boot_dtsi_loc)$(subst $\",,$(CONFIG_SYS_CPU))-u-boot.dtsi) \ - $(wildcard $(u_boot_dtsi_loc)$(subst $\",,$(CONFIG_SYS_VENDOR))-u-boot.dtsi) \ +u_boot_dtsi_search = $(<) \ + $(CONFIG_SYS_SOC) $(CONFIG_SYS_CPU) $(CONFIG_SYS_VENDOR) + +u_boot_dtsi_pattern = $(eval x=$$(patsubst "%",%,$(i)))$(strip \ + $(and $(x),$(wildcard \ + $(u_boot_dtsi_loc)$(basename $(notdir $(x)))-u-boot.dtsi))) + +u_boot_dtsi_options = $(strip \ + $(foreach i,$(value u_boot_dtsi_search),$(u_boot_dtsi_pattern)) \ $(wildcard $(u_boot_dtsi_loc)u-boot.dtsi)) -u_boot_dtsi_options_raw = $(warning Automatic .dtsi inclusion: options: \ - $(u_boot_dtsi_loc)$(basename $(notdir $<))-u-boot.dtsi \ - $(u_boot_dtsi_loc)$(subst $\",,$(CONFIG_SYS_SOC))-u-boot.dtsi \ - $(u_boot_dtsi_loc)$(subst $\",,$(CONFIG_SYS_CPU))-u-boot.dtsi \ - $(u_boot_dtsi_loc)$(subst $\",,$(CONFIG_SYS_VENDOR))-u-boot.dtsi \ - $(u_boot_dtsi_loc)u-boot.dtsi ... \ - found: $(if $(u_boot_dtsi_options),"$(u_boot_dtsi_options)",nothing!)) +u_boot_dtsi_pattern_raw = $(eval x=$$(patsubst "%",%,$(i))) \ + $(i)=$(if $(x),$(and $(x),$(x) $(if $(u_boot_dtsi_pattern),,not) \ + found @ $(u_boot_dtsi_loc)$(basename $(notdir $(x)))-u-boot.dtsi),(undefined)) || + +u_boot_dtsi_options_raw = $(strip \ + Automatic inclusion \ + $(or $(u_boot_dtsi_options),(undefined)) from search: \ + $(foreach i,$(value u_boot_dtsi_search),$(u_boot_dtsi_pattern_raw)) \ + u-boot.dtsi $(if $(wildcard $(u_boot_dtsi_loc)u-boot.dtsi),,not) \ + found @ $(u_boot_dtsi_loc)u-boot.dtsi) + +endif # Uncomment for debugging # This shows all the files that were considered and the one that we chose. base-commit: e4c8b32d03d7ecffd586b7d33336603ad639d7c0 -- 2.50.0