From: Ævar Arnfjörð Bjarmason Date: Wed, 30 Nov 2022 08:23:49 +0000 (+0100) Subject: Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 X-Git-Tag: v2.43.0-rc0~123^2^2~1^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e69547b7b6484328c3f334934d8737f9b28d6a7e;p=thirdparty%2Fgit.git Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 Since GNU make 4.4 the semantics of the $(MAKEFLAGS) variable has changed in a backward-incompatible way, as its "NEWS" file notes: Previously only simple (one-letter) options were added to the MAKEFLAGS variable that was visible while parsing makefiles. Now, all options are available in MAKEFLAGS. If you want to check MAKEFLAGS for a one-letter option, expanding "$(firstword -$(MAKEFLAGS))" is a reliable way to return the set of one-letter options which can be examined via findstring, etc. This means that $(MAKEFLAGS) now contains long options like "--jobserver-auth=fifo:" and we have to adapt to that. Note that the "-" in "-$(MAKEFLAGS)" is critical here, as the variable will always contain leading whitespace if there are no short options, but long options are present. This is a partial backport of 67b36879fc0 (Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4, 2022-11-30), which had been applied directly to git/git. Signed-off-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano Signed-off-by: Johannes Schindelin Signed-off-by: Pratyush Yadav --- diff --git a/Makefile b/Makefile index 56c85a85c1..a0d5a4b28e 100644 --- a/Makefile +++ b/Makefile @@ -116,7 +116,7 @@ ifeq ($(uname_S),Darwin) TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app) endif -ifeq ($(findstring $(MAKEFLAGS),s),s) +ifeq ($(findstring $(firstword -$(MAKEFLAGS)),s),s) QUIET_GEN = endif