Subject: Re: [PATCH v4 1/9] scalar Makefile: use "The default target of..." pattern

From: Junio C Hamano <[email-masked]>
Date: Wed, 02 Mar 2022 11:35:37 -0800

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

> Make have the "contrib/scalar/Makefile" be stylistically consistent
> with the top-level "Makefile" in first declaring "all" to be the
> default rule, follwed by including other Makefile snippets.

Sorry, but I cannot quite parse it.  Perhaps remove "have"?

> This adjusts code added in 0a43fb22026 (scalar: create a rudimentary
> executable, 2021-12-03), it's a style-only change, in a subsequent
> commit the "QUIET" boilerplate at the beginning of this file will be
> retrieved via an include, and having an "all:" between the two set of
> "include"'s after that change would look odd.

In other words, raising these includes to the top is not style-only
but is more significant change.  I think these two are logically
distinct changes, but I am fine to see both in the same commit, as
long as they are explained as such.

>
> As noted in [1] using ".DEFAULT_GOAL = all" is another way to do this
> in more modern GNU make versions, which we already have a hard
> dependency on, but let's leave any such change for a future
> improvement and go with using our established pattern consistently for
> now.

I would suggest dropping this paragraph.  In the discussion, we
didn't even establish that such a change would be an "improvement",
and in fact, not everything new is an improvement.  If we know
.DEFAULT_GOAL is not used, readers of Makefile do not have to run
around and look for it to figure out what happens when "make" is run
without argument.