Hello Paul Smith. Paul Smith wrote in <07e283aabbe6e01cc56a8d9349257ab2f125f114.ca...@gnu.org>: |On Mon, 2022-11-07 at 20:32 +0100, Steffen Nurpmeso wrote: |> mkdir /tmp/t |> cd /tmp/t |> cat > makefile <<'EOT' |> .NOTPARALLEL: |> .WAIT: # Luckily BSD make supports specifying this as target, too |> config: |> @{ echo MAKE=\"$(MAKE)\";echo MAKEFLAGS=\"$(MAKEFLAGS)\"; } > |> ./au;echo config |> all: |> . ./au;echo all;$${MAKE} internal_ |> internal_: |> @echo MAKE=$(MAKE), MAKEFLAGS=$(MAKEFLAGS) |> EOT | |I see. I don't think any of us envisioned this idea of storing the |MAKEFLAGS from a previous run and using them in a subsequent run. That |is an interesting use-case.
The users did not want to adjust the make.rc file. Passing it via command line is so much easier. And then it is also that "config" fixates the -j statement, for me personally. Changing command line flags changes the configuration and triggers rebuilds, which is a no-go in package builder recipes which separate the different stages (config, build, test, install..). On the other hand want to pass the initial desire of -j multiprocessing. The way it is one then simply says "make" and it scales up to the desire expressed when doing "config". |> I mean, _if_ the FIFO does not exist then "the server exited |> gracefully", which it would not do upon crash, no? Just ignore |> ENOENT thus? What do you say? | |I agree that we should drop down to "jobserver unavailable" here rather |than having a fatal error. That is great! Thanks! |> Btw if it would be me, i would pass that via environment |> variables, which makes a natural connection to a server and its |> child clients. I mean, Linux and GNU LibC now make (some aspects |> of) environment inaccessible for root aka SUID i think (E?UID |> mismatches, issetuid or what-do-i-know, but this hardly is |> a problem for GNU make. | |I'm not sure I understand what you are saying. These values ARE passed |to the child clients through the environment. That's what MAKEFLAGS |_is_, it's the environment variable that's used to allow a parent make |to provide information on options etc. to its sub-makes. | |The POSIX spec says (in the Rationale): | |> The environment [of the child processes] is the same as the |> environment to make except that MAKEFLAGS [...] are added ..ok. Sorry. I am definitely not in that matter. --End of <07e283aabbe6e01cc56a8d9349257ab2f125f114.ca...@gnu.org> What would interest me now. Will there be GNU make 4.4.1? (On the left and right i see quite some changes of projects to become compatible with GNU make 4.4 though, CRUX Linux imported a pretty lengthy glibc patch, and on the ports list of OpenBSD there is also trouble..) --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)