diff mbox series

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

Message ID 20220907230339.271633-1-danielwa@cisco.com (mailing list archive)
State New, archived
Headers show
Series [RFC-PATCH] Makefile: dts: include directory makefile for DTC_FLAGS | expand

Commit Message

Daniel Walker (danielwa) Sept. 7, 2022, 11:03 p.m. UTC
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@cisco.com
Signed-off-by: Daniel Walker <danielwa@cisco.com>
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Masahiro Yamada Sept. 8, 2022, 7:08 a.m. UTC | #1
On Thu, Sep 8, 2022 at 8:03 AM Daniel Walker <danielwa@cisco.com> wrote:
>
> 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.


I recently fixed another issue of single target builds.
https://patchwork.kernel.org/project/linux-kbuild/patch/20220906061313.1445810-2-masahiroy@kernel.org/


It fixed your issue as well.






>
> 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@cisco.com
> Signed-off-by: Daniel Walker <danielwa@cisco.com>
> ---
>  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
>
Daniel Walker (danielwa) Sept. 8, 2022, 2:38 p.m. UTC | #2
On Thu, Sep 08, 2022 at 04:08:06PM +0900, Masahiro Yamada wrote:
> On Thu, Sep 8, 2022 at 8:03 AM Daniel Walker <danielwa@cisco.com> wrote:
> >
> > 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.
> 
> 
> I recently fixed another issue of single target builds.
> https://patchwork.kernel.org/project/linux-kbuild/patch/20220906061313.1445810-2-masahiroy@kernel.org/
> 
> 
> It fixed your issue as well.
> 
> 

Yeah, it fixes the issue I was seeing. Are you planning to resubmit this or is
the v2 the final version ?

Daniel
Masahiro Yamada Sept. 8, 2022, 3:01 p.m. UTC | #3
On Thu, Sep 8, 2022 at 11:39 PM Daniel Walker <danielwa@cisco.com> wrote:
>
> On Thu, Sep 08, 2022 at 04:08:06PM +0900, Masahiro Yamada wrote:
> > On Thu, Sep 8, 2022 at 8:03 AM Daniel Walker <danielwa@cisco.com> wrote:
> > >
> > > 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.
> >
> >
> > I recently fixed another issue of single target builds.
> > https://patchwork.kernel.org/project/linux-kbuild/patch/20220906061313.1445810-2-masahiroy@kernel.org/
> >
> >
> > It fixed your issue as well.
> >
> >
>
> Yeah, it fixes the issue I was seeing. Are you planning to resubmit this or is
> the v2 the final version ?
>
> Daniel


I do not have a plan to submit v3
(unless a new issue comes up)
diff mbox series

Patch

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