Makefile: Fix calling make with V=1
authorPali Rohár <pali@kernel.org>
Wed, 4 Nov 2020 09:34:35 +0000 (10:34 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 6 Nov 2020 14:46:11 +0000 (09:46 -0500)
Calling 'make V=1 all' on Ubuntu 18.04 with gcc version 9.2.1 and GNU Make
version 4.1 fails on error:

    scripts/Kbuild.include:220: *** Recursive variable 'echo-cmd' references itself (eventually).  Stop.

As a workaround expand 'echo-cmd' variable via 'call' construction instead
of expanding it directly.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reported-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
Fixes: ae897022d7bd ("Makefile: Fix u-boot-nodtb.bin target")

Makefile

index 89c42c1..59ba333 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1309,7 +1309,7 @@ init_sp_bss_offset_check: u-boot.dtb FORCE
        fi
 endif
 
-shell_cmd = { $(echo-cmd) $(cmd_$(1)); }
+shell_cmd = { $(call echo-cmd,$(1)) $(cmd_$(1)); }
 
 quiet_cmd_objcopy_uboot = OBJCOPY $@
 cmd_objcopy_uboot = $(cmd_objcopy) && $(call shell_cmd,static_rela,$<,$@,$(CONFIG_SYS_TEXT_BASE)) || rm -f $@