[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZyaUkK57P4sL2uqm@fjasle.eu>
Date: Sat, 2 Nov 2024 22:07:28 +0100
From: Nicolas Schier <nicolas@...sle.eu>
To: Vegard Nossum <vegard.nossum@...cle.com>
Cc: Masahiro Yamada <masahiroy@...nel.org>, linux-kbuild@...r.kernel.org,
Nathan Chancellor <nathan@...nel.org>,
Michael Ellerman <mpe@...erman.id.au>,
Morten Linderud <morten@...derud.pw>,
Haelwenn Monnier <contact@...odan.eu>, Jann Horn <jannh@...gle.com>,
Kees Cook <kees@...nel.org>,
James Bottomley <James.Bottomley@...senpartnership.com>,
Theodore Ts'o <tytso@....edu>, linux-hardening@...r.kernel.org
Subject: Re: [RFC PATCH 01/11] kbuild: ignore .config rule for make
--always-make
On Mon, Aug 19, 2024 at 06:02:58PM +0200 Vegard Nossum wrote:
> Before this patch, using 'make --always-make' would always result in the
> error message about the missing .config being displayed.
>
> Detect the -B/--always-make flag and leave this rule out, which allows the
> rest of the build to proceed. See [1] for an explanation of this particular
> construction.
Nice catch, thanks.
>
> [1]: https://www.gnu.org/software/make/manual/make.html#Testing-Flags
>
> Signed-off-by: Vegard Nossum <vegard.nossum@...cle.com>
> ---
> Makefile | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 44c02a6f60a14..f09c036daf2f5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -757,6 +757,10 @@ ifdef may-sync-config
> # because some architectures define CROSS_COMPILE there.
> include include/config/auto.conf.cmd
>
> +ifeq (,$(findstring B,$(firstword -$(MAKEFLAGS))))
As we still also support make v3.80 to v4.0, please use $(short-opts)
defined around line 27.
> +# This is a dummy target, only meant as a help for the user invoking make.
> +# We don't want it to take effect when running 'make --always-make', since
> +# that renders the --always-make option effectively useless.
> $(KCONFIG_CONFIG):
> @echo >&2 '***'
> @echo >&2 '*** Configuration file "$@" not found!'
> @@ -765,6 +769,7 @@ $(KCONFIG_CONFIG):
> @echo >&2 '*** "make menuconfig" or "make xconfig").'
> @echo >&2 '***'
> @/bin/false
> +endif
>
> # The actual configuration files used during the build are stored in
> # include/generated/ and include/config/. Update them if .config is newer than
> --
> 2.34.1
>
Powered by blists - more mailing lists