Thread (7 messages) 7 messages, 4 authors, 2017-12-16

[PATCH] kbuild: fix dependency of dtbs targets

From: robh@kernel.org (Rob Herring)
Date: 2017-12-13 21:31:41
Also in: linux-kbuild, lkml

On Wed, Oct 25, 2017 at 12:40 AM, Masahiro Yamada
[off-list ref] wrote:
Hi.


2017-10-10 0:05 GMT+09:00 Russell King - ARM Linux [off-list ref]:
quoted
On Wed, Oct 04, 2017 at 01:27:20PM +0900, Masahiro Yamada wrote:
quoted
The target "dtbs" should depend on "scripts" because it needs to
build dtc.  The "prepare" target is unneeded here.
Looks fine for ARM, as the only thing the dtbs should depend on is
the kernel configuration (to decide which to build) and DT tooling.

Acked-by: Russell King <redacted>

--

I found a potential issue on this
because the default DTB install path depends on $(KERNELRELEASE).


In top-level Makefile:
export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)


The include/config/kernel.release is created by "prepare3" target.

If the dependency on "parepare" is removed,
it is possible to run "make dtbs" and "make dtbs_install"
without creating include/config/kernel.release.

So, the $(KERNELRELEASE) could be empty when installing DTB.


Maybe, drop this patch, or reduce the dependency to "parepare3"?
I was doing some work to get dtb builds to work without depending on
$arch cross compiler and this patch fixes some of the issues. The
dtbs_install target has the prepare dependency, so that should be
sufficient and your patch should be fine. BTW, Based on prior
discussion on "ARM: kbuild: Fix forced rebuild after 'make dtbs'"
thread, prepare should not be needed just for $(KERNELRELEASE).

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help