Closed Bug 785694 Opened 7 years ago Closed 7 years ago

pymake doesn't pass command line arguments down to $(shell) invocations of $(MAKE)

Categories

(Firefox Build System :: General, defect)

x86_64
Linux
defect
Not set

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 787600

People

(Reporter: glandium, Unassigned)

References

Details

This is especially important for command line given variables, and this prevents NSS from building successfully with pymake. The following Makefile exposes the problem:

----8<------
FOO=TEST-FAIL

foo:
        @$(MAKE) --no-print-directory -f test.mk bar FOO=TEST-PASS

bar:
        @$(MAKE) --no-print-directory -f test.mk baz

baz:
        @echo $(shell $(MAKE) --no-print-directory -f test.mk echo-foo)

echo-foo:
        @echo $(FOO)
----8<------

With GNU make, the output is TEST-PASS, with pymake, it's TEST-FAIL.

Note that if the foo rule calls baz directly, GNU make prints TEST-FAIL. This has to do with the MAKEFLAGS variable making it in the subshell in one case and not the other (you got to love GNU make).
Looks like bug 787600 fixed this.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 787600
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.