Subject: Re: [PATCH v2 5/6] Makefile: move the setting of *FLAGS closer to "include"

From: Junio C Hamano <[email-masked]>
Date: Fri, 22 Feb 2019 15:19:34 -0800

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> Move the setting of variables like CFLAGS down past settings like
> "prefix" and default programs like "TAR" to just before we do the
> include from "config.mak.*".
>
> There's no functional changes here yet, but move note that
> "ALL_CFLAGS" and "ALL_LDFLAGS" are moved below the include. A
> follow-up change will tweak those depending on a variable set in
> config.mak.dev.

Sorry, but cannot parse the sentence around "move note".

>
> Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
> ---
>  Makefile | 40 ++++++++++++++++++++++------------------
>  1 file changed, 22 insertions(+), 18 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 59674ce9d7..82cfd6c2e4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -506,13 +506,6 @@ GIT-VERSION-FILE: FORCE
>  	@$(SHELL_PATH) ./GIT-VERSION-GEN
>  -include GIT-VERSION-FILE
>  
> -# CFLAGS and LDFLAGS are for the users to override from the command line.
> -CFLAGS = -g -O2 -Wall
> -LDFLAGS =
> -ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
> -ALL_LDFLAGS = $(LDFLAGS)
> -ARFLAGS = rcs
> -
>  # Set our default configuration.
>  #
>  # Among the variables below, these:
> @@ -572,7 +565,6 @@ TCLTK_PATH = wish
>  XGETTEXT = xgettext
>  MSGFMT = msgfmt
>  CURL_CONFIG = curl-config
> -PTHREAD_CFLAGS =
>  GCOV = gcov
>  STRIP = strip
>  SPATCH = spatch
> @@ -582,16 +574,6 @@ export TCL_PATH TCLTK_PATH
>  # Set our default LIBS variables
>  PTHREAD_LIBS = -lpthread
>  
> -# user customisation variable for 'sparse' target
> -SPARSE_FLAGS ?=
> -# internal/platform customisation variable for 'sparse'
> -SP_EXTRA_FLAGS =
> -
> -SPATCH_FLAGS = --all-includes --patch .
> -
> -BASIC_CFLAGS = -I.
> -BASIC_LDFLAGS =
> -
>  # Guard against environment variables
>  BUILTIN_OBJS =
>  BUILT_INS =
> @@ -1160,6 +1142,25 @@ ifeq ($(wildcard sha1collisiondetection/lib/sha1.h),sha1collisiondetection/lib/s
>  DC_SHA1_SUBMODULE = auto
>  endif
>  
> +# Set CFLAGS, LDFLAGS and other *FLAGS variables. These might be
> +# tweaked by config.* below as well as the command-line, both of
> +# which'll override these defaults.
> +CFLAGS = -g -O2 -Wall
> +LDFLAGS =
> +BASIC_CFLAGS = -I.
> +BASIC_LDFLAGS =
> +
> +# library flags
> +ARFLAGS = rcs
> +PTHREAD_CFLAGS =
> +
> +# For the 'sparse' target
> +SPARSE_FLAGS ?=

Makes us wonder why only this one is different and uses ?= ;-)

> +SP_EXTRA_FLAGS =
> +
> +# For the 'coccicheck' target
> +SPATCH_FLAGS = --all-includes --patch .
> +
>  include config.mak.uname
>  -include config.mak.autogen
>  -include config.mak
> @@ -1168,6 +1169,9 @@ ifdef DEVELOPER
>  include config.mak.dev
>  endif
>  
> +ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
> +ALL_LDFLAGS = $(LDFLAGS)
> +
>  comma := ,
>  empty :=
>  space := $(empty) $(empty)