I admit I didn't read this old thread or example makefiles closely so I may
be missing subtleties but a few responses:

> Replacing ?= with := (immediate assignment, computed once at top-make
parse time) avoids the problem at the cost of breaking command-line
variable override.

This sounds like a common misunderstanding. *All* variable types are
overridable at the command line. People often think they need ?= to enable
this but := overrides the same (of course the resulting variable is now
simply expanded which is a possible consideration).

> (the lines below "$(PHASES):" and "inner-%:" must begin with a TAB)

In future example makefiles you can use ; to disambiguate the tab issue:

foo: bar; recipe

> default_TOP  := $(shell pwd)

I've never understood this pattern. Make has no chdir operator so each
individual make process is trapped in its starting cwd (this is a feature).
Of course recipes including recursive make can change their cwd but that's
the only place it can change and it's a new process. Therefore using
$(shell pwd) seems generally a waste of an exec since it's available as
$(CURDIR).

I understand there might be an interest in tracking prior working dirs in a
recursive-make process tree, but in any given make process can there be a
difference between $(shell pwd) and $(CURDIR)?

David

On Thu, May 21, 2026 at 2:38 AM Basile STARYNKEVITCH <
[email protected]> wrote:

> On Wed, 2026-05-20 at 18:06 -0400, Paul Smith wrote:
> > On Wed, 2026-05-20 at 15:09 +0000, Gunter Woytowitz wrote:
> > > will this change be available as an update in the ubuntu resolute
> > > repos ?
> >
> > I have no way of knowing the answer to that: it's up to the Ubuntu
> > maintenance team.  The GNU project is not involved at all.
> >
>
> However, GNU make 4.4 is easily compilable (e.g. as
> /usr/local/bin/make) on Ubuntu or Debian systems. So building your GNU
> make could be a solution
>
> --
>
> Basile STARYNKEVITCH
> <[email protected]>
> 8 rue de la Faïencerie
> http://starynkevitch.net/Basile/
> 92340 Bourg-la-Reine
> https://github.com/bstarynk
> France
> https://github.com/RefPerSys/RefPerSys
>                   https://orcid.org/0000-0003-0908-5250
>
>

Reply via email to