[RFC-PATCH] Makefile: dts: include directory makefile for DTC_FLAGS

From: Daniel Walker
Date: Wed Sep 07 2022 - 19:03:47 EST


The current Makefile will drop the DTC_FLAGS depending on how you
build. For example,

make dtbs

includes correct DTC_FLAGS. However if you run,

make nvidia/tegra210-p2371-2180.dtb

The DTC_FLAGS are dropped. This appears to be caused by the top level
Makefile not including the Makefile from the directory where the dts lives.

This normally doesn't matter because most dts files have nothing added
from the Makefile. This changes when you have overlays, and the
DTC_FLAGS modifier is mandatory for the dtb to work correctly.

This change adds a -f argument which includes the Makefile from the
directory where the dts file reside. This change is also required for
dtbo files.

Cc: xe-linux-external@xxxxxxxxx
Signed-off-by: Daniel Walker <danielwa@xxxxxxxxx>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index ac16bd92b156..bc245e2dc8d1 100644
--- a/Makefile
+++ b/Makefile
@@ -1460,10 +1460,10 @@ endif
ifneq ($(dtstree),)

%.dtb: dtbs_prepare
- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+ $(Q)$(MAKE) -f $(srctree)/$(dtstree)/$(dir $@)Makefile $(build)=$(dtstree) $(dtstree)/$@

%.dtbo: dtbs_prepare
- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+ $(Q)$(MAKE) -f $(srctree)/$(dtstree)/$(dir $@)Makefile $(build)=$(dtstree) $(dtstree)/$@

PHONY += dtbs dtbs_prepare dtbs_install dtbs_check
dtbs: dtbs_prepare
--
2.25.1