[PATCH v2] kbuild: add dtbs target for building all dtbs of an ARCH

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Oct 5 04:30:26 EDT 2020


Hello Sascha,

On 9/16/20 5:19 PM, 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 available in arch/$(SRCARCH)/dts/.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> v1 -> v2:
>   - populate $(targets) with device trees to build, so make dtbs does
>     only build dts files changed since the last make dtbs run (Sascha)

Any objections to this patch?

> ---
>  Makefile | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index 906068036715..3bf5cbce32a4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -998,6 +998,22 @@ 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
> +all_dtbs += $(patsubst $(srctree)/%.dts,$(objtree)/%.dtb,$(wildcard $(srctree)/$(dtstree)/*.dts))
> +targets += $(all_dtbs)
> +dtbs: $(all_dtbs)
> +
> +endif
> +
>  # ---------------------------------------------------------------------------
>  # Modules
>  
> @@ -1173,6 +1189,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));) \
> 

-- 
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 |



More information about the barebox mailing list