kbuild: fix a bug of C++ host program handling
The comment claims:
C++ executables compiled from at least one .cc file
and zero or more .c files
But C++ executables with zero .c file fail in build.
For example, assume we have a Makefile like this:
hostprogs-y := foo
foo-cxxobjs := bar.o
In this case, foo is treated as host-csingle
and Kbuild tries to search non-existing foo.c source.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 395a240..bf44e79 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -34,7 +34,8 @@
# C code
# Executables compiled from a single .c file
-host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
+host-csingle := $(foreach m,$(__hostprogs), \
+ $(if $($(m)-objs)$($(m)-cxxobjs),,$(m)))
# C executables linked based on several .o files
host-cmulti := $(foreach m,$(__hostprogs),\