[bug #63347] make 4.4 change in behavior for sub-make invoked via $(shell)

2022-11-11 Thread Jan Palus
Follow-up Comment #3, bug #63347 (project make):

Just to be clear I don't mind the change with $(shell) now receiving those
vars, what I do mind is that current behavior is selective of which $(shell)s
do receive it. The one in target dependency does not. What I miss is uniform
consistent behavior.


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #63347] make 4.4 change in behavior for sub-make invoked via $(shell)

2022-11-23 Thread Jan Palus
Follow-up Comment #6, bug #63347 (project make):

Thanks Dmitry. I can confirm that the patch fixes nss build that relies on
same flags being passed to all $(shell)s
(https://bugzilla.mozilla.org/show_bug.cgi?id=1800237).


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #63347] make 4.4 change in behavior for sub-make invoked via $(shell)

2022-11-26 Thread Jan Palus
Follow-up Comment #8, bug #63347 (project make):

Looks like attached patch changes behavior in the way that makes Linux kernel
build system assume silent mode.

For following input:


$ cat Makefile
MAKE_OPTS := A=a C=c H=h
all:
$(MAKE) -C test $(MAKE_OPTS) all

$ cat test/Makefile
MAKEFLAGS += -rR

$(info MAKEFLAGS=$(MAKEFLAGS))

all:


Unpatched make 4.4:

$ make -j2
...
MAKEFLAGS= -j2 --jobserver-auth=fifo:/home/users/builder/tmp/GMfifo655627 -rR
...


Patched make 4.4:

$ make -j2
...
MAKEFLAGS=rR -j2 --jobserver-auth=fifo:/home/users/builder/tmp/GMfifo1150317
-- H=h C=c A=a
...


Differences that I could spot:
- there's "rR" instead of "-rR"
- "-rR" is at the beginning not at the end
- MAKE_OPTS are part of MAKEFLAGS -- that's what confuses kernel's build
system since it merely looks for 's' in MAKEFLAGS after stripping long
options:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Makefile?id=e5f3ec38c8496dd7f6ada8a5e8d4958ef46ddb3f#n97


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/