On Mon 12 Dec 2022 10:21:10 GMT, Nathan Chancellor wrote: > On Sun, Dec 11, 2022 at 12:03:52PM +0900, Masahiro Yamada wrote: > > Documentation/process/changes.rst notes the minimal GNU Make version, > > but it is not checked anywhere. > > > > We could check $(MAKE_VERSION), but another simple way is to check > > $(.FEATURES) since the feature list always grows although this way > > is not always possible. For example Make 4.0 through 4.2 have the > > same set of $(.FEATURES). > > > > Signed-off-by: Masahiro Yamada > > Reviewed-by: Nathan Chancellor Reviewed-by: Nicolas Schier > > --- > > > > Changes in v3: > > - Check the version in a different way > > > > Makefile | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/Makefile b/Makefile > > index 2dda1e9a717a..66dfc5751470 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -11,6 +11,11 @@ NAME = Hurr durr I'ma ninja sloth > > # Comments in this file are targeted only to the developer, do not > > # expect to learn how to build the kernel reading this file. > > > > +# Ensure Make >= 3.82 > > +ifeq ($(filter undefine,$(.FEATURES)),) > > +$(error Make $(MAKE_VERSION) is too old) > > Would it make sense to state what version is needed, similar to the > Kconfig checks for compiler and binutils? Checking against 'undefine' (introduced in make-3.82~38) is quite a nice way, I think. Otherwise we needed something like $(filter 3.82% 3.9% 4.% 5.% ..., $(MAKE_VERSION)). Kind regards, Nicolas