[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yt1JavRlr5XStp0+@fjasle.eu>
Date: Sun, 24 Jul 2022 15:30:18 +0200
From: Nicolas Schier <nicolas@...sle.eu>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-kbuild@...r.kernel.org,
Michal Marek <michal.lkml@...kovi.net>,
Nick Desaulniers <ndesaulniers@...gle.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] kbuild: add dtbs_prepare target
On Sun, Jul 24, 2022 at 06:59:19PM +0900, Masahiro Yamada wrote:
> Date: Sun, 24 Jul 2022 18:59:19 +0900
> From: Masahiro Yamada <masahiroy@...nel.org>
> To: linux-kbuild@...r.kernel.org
> Cc: Nicolas Schier <nicolas@...sle.eu>, Masahiro Yamada
> <masahiroy@...nel.org>, Michal Marek <michal.lkml@...kovi.net>, Nick
> Desaulniers <ndesaulniers@...gle.com>, linux-kernel@...r.kernel.org
> Subject: [PATCH v2] kbuild: add dtbs_prepare target
> Message-Id: <20220724095919.436126-1-masahiroy@...nel.org>
> X-Mailer: git-send-email 2.34.1
> List-ID: <linux-kbuild.vger.kernel.org>
> X-Mailing-List: linux-kbuild@...r.kernel.org
>
> Factor out the common prerequisites for DT compilation into the new
> target, dtbs_prepare.
>
> Add comments to explain why include/config/kernel.release is the
> prerequisite. Our policy is that installation targets must not rebuild
> anything in the tree. If 'make modules_install' is executed as root,
> include/config/kernel.release may be owned by root.
>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> ---
Reviewed-by: Nicolas Schier <nicolas@...sle.eu>
>
> Changes for v2:
> - rephase the comment more concise
>
> Makefile | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index dee707c98bbe..a2a030f41e65 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1370,16 +1370,21 @@ endif
>
> ifneq ($(dtstree),)
>
> -%.dtb: include/config/kernel.release scripts_dtc
> +%.dtb: dtbs_prepare
> $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
>
> -%.dtbo: include/config/kernel.release scripts_dtc
> +%.dtbo: dtbs_prepare
> $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
>
> -PHONY += dtbs dtbs_install dtbs_check
> -dtbs: include/config/kernel.release scripts_dtc
> +PHONY += dtbs dtbs_prepare dtbs_install dtbs_check
> +dtbs: dtbs_prepare
> $(Q)$(MAKE) $(build)=$(dtstree)
>
> +# include/config/kernel.release is actually needed when installing DTBs because
> +# INSTALL_DTBS_PATH contains $(KERNELRELEASE). However, we do not want to make
> +# dtbs_install depend on it as dtbs_install may run as root.
> +dtbs_prepare: include/config/kernel.release scripts_dtc
> +
> ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
> export CHECK_DTBS=y
> dtbs: dt_binding_check
> --
> 2.34.1
--
epost|xmpp: nicolas@...sle.eu irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --
Powered by blists - more mailing lists