On Thu, 26 Feb 2026 23:03:52 GMT, Erik Joelsson <[email protected]> wrote:

>> GNU Make 4.4.1 changed the behavior of the variable MAKEFLAGS. This is 
>> causing our makefiles to behave weirdly in certain situations. We need to 
>> check for certain options in MAKEFLAGS to adjust behavior, and the way we do 
>> it is not compatible with GNU Make 4.4.1. In the GNU Make manual, it's 
>> [documented how you should query MAKEFLAGS for 
>> options](https://www.gnu.org/software/make/manual/make.html#Testing-Flags) 
>> and this patch is applying this recommendation. With this patch, I can 
>> successfully run the failing examples given in the bug using 4.4.1. I have 
>> also verified that tab completion still works and that the output of `make 
>> -p -q` looks the same before and after.
>> 
>> Big thanks to Jaikiran who found the solution to this!
>
> Erik Joelsson has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Handle corner case with make 3.x

My problem was using a test command line where `p` and `q` appeared in two 
different arguments and not in the same argument. That worked accidentally with 
the last patch.

> The semantics of MFLAGS seems promising in our context, because it is 
> guaranteed not to contain the command line variables. So if nothing else 
> works or if it gets too complicated dealing with MAKEFLAGS, then maybe we 
> should use MFLAGS instead?

Yes, I came to the same conclusion. MAKEFLAGS is just unnecessarily complex to 
deal with. Updated the patch to use MFLAGS and it's much simpler.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/29942#issuecomment-3973330070

Reply via email to