Re: [PATCH V5 1/2] kbuild: centralize .dts->.dtb rule

Stephen Warren
2012-11-15T18:09:53Z

On 11/15/2012 04:51 AM, Grant Likely wrote:
> Grant Likely wrote:
>> Or how about: I could pick up the patch with only the MIPS hunk and
>> every other user can be fixed up independently to use the new rule.
>
> Here's a trial patch to fix up ARM. Does this look correct? This patch
> depends on the generic dtb build rule already being applied.

I think the patch looks OK technically, except for one minor comment below.

One issue with this patch is that it moves *.dts from arch/arm/boot to
arch/arm/boot/dts, which means everyone has to adjust their scripts/...
that package/install/... the kernel. I guess it's an easy change for
people to make, but could easily catch people unawares if they do
incremental builds so that arch/arm/boot/*.dtb still exists but is stale.

> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index f37cf9f..2aef042 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -104,4 +104,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
> wm8505-ref.dtb \
> wm8650-mid.dtb
>
> +targets += dtbs

Doesn't that make the "dtbs" target always run by default? Perhaps
that's reasonable though, and doesn't actually affect anything since the
make command for this directory always specifies an explicit target?

Or, was that meant to be the following that got removed from ../Makefile?

targets += $(dtb-y)

> endif
> +
> +dtbs: $(addprefix $(obj)/, $(dtb-y))
> +clean-files := *.dtb