From: Ilias Apalodimas Date: Wed, 22 Oct 2025 12:23:15 +0000 (+0300) Subject: makefile: Fix recursive makes X-Git-Tag: v2026.01-rc1~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=38f40e6de6029686356a1b786087385ae974d354;p=thirdparty%2Fu-boot.git makefile: Fix recursive makes Since the Kbuild bump to 5.1 and specifically commit af1a9935708a ("kbuild: make -r/-R effective in top Makefile for old Make versions") the recursion rules have changed. 'make O=/output/dir/' as well as './test/py/test.py --bd sandbox --build' is working fine but anything that recursively called the makefile was failing e.g 'make tests', 'make qcheck' etc, which calls a bash script that ends up calling the makefile again. The reason is that the internal 'sub_make_done' variable of the makefile was set after the first pass and the output dir was never evaluated properly. Reset the variable value if we are executing any of these tests. Fixes: af1a9935708a ("kbuild: make -r/-R effective in top Makefile for old Make versions") Reported-by: Heinrich Schuchardt Signed-off-by: Ilias Apalodimas Test-by: Heinrich Schuchardt --- diff --git a/Makefile b/Makefile index 2402f9313d8..8cddee3c5a9 100644 --- a/Makefile +++ b/Makefile @@ -2666,6 +2666,10 @@ help: @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info see the ./README file' +ifneq ($(filter tests pcheck qcheck tcheck,$(MAKECMDGOALS)),) +export sub_make_done := 0 +endif + tests check: $(srctree)/test/run