mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] kbuild: add dtbs target for building all dtbs of an ARCH
@ 2020-07-02  8:59 Ahmad Fatoum
  2020-07-05 17:35 ` Sascha Hauer
  0 siblings, 1 reply; 4+ messages in thread
From: Ahmad Fatoum @ 2020-07-02  8:59 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

As described in the documentation, upstream device trees extended by
barebox should take care to cause compile errors, not runtime errors,
when the paths they extend disappear. This way, breakage can be easily
detected when synchronizing the dts/ directory and fixed right then.

Make this process easier by providing a dtbs target that builds all
device trees in arch/$(SRCARCH)/dts/ if available.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 Makefile | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/Makefile b/Makefile
index 0da032532712..9fa741966c00 100644
--- a/Makefile
+++ b/Makefile
@@ -990,6 +990,20 @@ include/generated/version.h: FORCE
 include/generated/utsrelease.h: include/config/kernel.release FORCE
 	$(call filechk,utsrelease.h)
 
+# ---------------------------------------------------------------------------
+# Devicetree files
+
+ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/dts/),)
+dtstree := arch/$(SRCARCH)/dts
+endif
+
+ifneq ($(dtstree),)
+
+PHONY += dtbs
+dtbs: $(patsubst $(srctree)/%.dts,$(objtree)/%.dtb,$(wildcard $(srctree)/$(dtstree)/*.dts))
+
+endif
+
 # ---------------------------------------------------------------------------
 # Modules
 
@@ -1165,6 +1179,10 @@ help:
 	@$(if $(archhelp),$(archhelp),\
 		echo '  No architecture specific help defined for $(SRCARCH)')
 	@echo  ''
+	@$(if $(dtstree), \
+		echo '  Devicetree:'; \
+		echo '    * dtbs             - Build device tree blobs for all boards'; \
+		echo '')
 	@$(if $(boards), \
 		$(foreach b, $(boards), \
 		printf "  %-24s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
-- 
2.27.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] kbuild: add dtbs target for building all dtbs of an ARCH
  2020-07-02  8:59 [PATCH] kbuild: add dtbs target for building all dtbs of an ARCH Ahmad Fatoum
@ 2020-07-05 17:35 ` Sascha Hauer
  2020-07-05 22:31   ` Ahmad Fatoum
  0 siblings, 1 reply; 4+ messages in thread
From: Sascha Hauer @ 2020-07-05 17:35 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Thu, Jul 02, 2020 at 10:59:34AM +0200, Ahmad Fatoum wrote:
> As described in the documentation, upstream device trees extended by
> barebox should take care to cause compile errors, not runtime errors,
> when the paths they extend disappear. This way, breakage can be easily
> detected when synchronizing the dts/ directory and fixed right then.
> 
> Make this process easier by providing a dtbs target that builds all
> device trees in arch/$(SRCARCH)/dts/ if available.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
>  Makefile | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 0da032532712..9fa741966c00 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -990,6 +990,20 @@ include/generated/version.h: FORCE
>  include/generated/utsrelease.h: include/config/kernel.release FORCE
>  	$(call filechk,utsrelease.h)
>  
> +# ---------------------------------------------------------------------------
> +# Devicetree files
> +
> +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/dts/),)
> +dtstree := arch/$(SRCARCH)/dts
> +endif
> +
> +ifneq ($(dtstree),)
> +
> +PHONY += dtbs
> +dtbs: $(patsubst $(srctree)/%.dts,$(objtree)/%.dtb,$(wildcard $(srctree)/$(dtstree)/*.dts))
> +
> +endif

Can we do this in a way that only rebuilds the changed files and not
every dts again?

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] kbuild: add dtbs target for building all dtbs of an ARCH
  2020-07-05 17:35 ` Sascha Hauer
@ 2020-07-05 22:31   ` Ahmad Fatoum
  2020-07-09 14:17     ` Sascha Hauer
  0 siblings, 1 reply; 4+ messages in thread
From: Ahmad Fatoum @ 2020-07-05 22:31 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox



On 7/5/20 7:35 PM, Sascha Hauer wrote:
> On Thu, Jul 02, 2020 at 10:59:34AM +0200, Ahmad Fatoum wrote:
>> As described in the documentation, upstream device trees extended by
>> barebox should take care to cause compile errors, not runtime errors,
>> when the paths they extend disappear. This way, breakage can be easily
>> detected when synchronizing the dts/ directory and fixed right then.
>>
>> Make this process easier by providing a dtbs target that builds all
>> device trees in arch/$(SRCARCH)/dts/ if available.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>>  Makefile | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>>
>> diff --git a/Makefile b/Makefile
>> index 0da032532712..9fa741966c00 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -990,6 +990,20 @@ include/generated/version.h: FORCE
>>  include/generated/utsrelease.h: include/config/kernel.release FORCE
>>  	$(call filechk,utsrelease.h)
>>  
>> +# ---------------------------------------------------------------------------
>> +# Devicetree files
>> +
>> +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/dts/),)
>> +dtstree := arch/$(SRCARCH)/dts
>> +endif
>> +
>> +ifneq ($(dtstree),)
>> +
>> +PHONY += dtbs
>> +dtbs: $(patsubst $(srctree)/%.dts,$(objtree)/%.dtb,$(wildcard $(srctree)/$(dtstree)/*.dts))
>> +
>> +endif
> 
> Can we do this in a way that only rebuilds the changed files and not
> every dts again?

Probably, I would have to check how though. But it doesn't matter that much IMO.
Target is meant to be run only after dts/ update. It's not part of the normal
development workflow. 

> 
> Sascha
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] kbuild: add dtbs target for building all dtbs of an ARCH
  2020-07-05 22:31   ` Ahmad Fatoum
@ 2020-07-09 14:17     ` Sascha Hauer
  0 siblings, 0 replies; 4+ messages in thread
From: Sascha Hauer @ 2020-07-09 14:17 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Mon, Jul 06, 2020 at 12:31:09AM +0200, Ahmad Fatoum wrote:
> 
> 
> On 7/5/20 7:35 PM, Sascha Hauer wrote:
> > On Thu, Jul 02, 2020 at 10:59:34AM +0200, Ahmad Fatoum wrote:
> >> As described in the documentation, upstream device trees extended by
> >> barebox should take care to cause compile errors, not runtime errors,
> >> when the paths they extend disappear. This way, breakage can be easily
> >> detected when synchronizing the dts/ directory and fixed right then.
> >>
> >> Make this process easier by providing a dtbs target that builds all
> >> device trees in arch/$(SRCARCH)/dts/ if available.
> >>
> >> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> >> ---
> >>  Makefile | 18 ++++++++++++++++++
> >>  1 file changed, 18 insertions(+)
> >>
> >> diff --git a/Makefile b/Makefile
> >> index 0da032532712..9fa741966c00 100644
> >> --- a/Makefile
> >> +++ b/Makefile
> >> @@ -990,6 +990,20 @@ include/generated/version.h: FORCE
> >>  include/generated/utsrelease.h: include/config/kernel.release FORCE
> >>  	$(call filechk,utsrelease.h)
> >>  
> >> +# ---------------------------------------------------------------------------
> >> +# Devicetree files
> >> +
> >> +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/dts/),)
> >> +dtstree := arch/$(SRCARCH)/dts
> >> +endif
> >> +
> >> +ifneq ($(dtstree),)
> >> +
> >> +PHONY += dtbs
> >> +dtbs: $(patsubst $(srctree)/%.dts,$(objtree)/%.dtb,$(wildcard $(srctree)/$(dtstree)/*.dts))
> >> +
> >> +endif
> > 
> > Can we do this in a way that only rebuilds the changed files and not
> > every dts again?
> 
> Probably, I would have to check how though. But it doesn't matter that much IMO.
> Target is meant to be run only after dts/ update. It's not part of the normal
> development workflow.

Well, you could convince me that this is really hard to solve, then we
can talk about merging it like this. Otherwise I would really prefer
solving this proper.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-07-09 14:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-02  8:59 [PATCH] kbuild: add dtbs target for building all dtbs of an ARCH Ahmad Fatoum
2020-07-05 17:35 ` Sascha Hauer
2020-07-05 22:31   ` Ahmad Fatoum
2020-07-09 14:17     ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox