Re: [PATCH] kbuild: Use $(obj)/%.cc to fix host C++ module builds
From: Masahiro Yamada
Date: Tue Jun 25 2024 - 10:05:59 EST
On Mon, Jun 24, 2024 at 8:12 PM Nicolas Schier <n.schier@xxxxxx> wrote:
>
> Use $(obj)/ instead of $(src)/ prefix when building C++ modules for
> host, as explained in commit b1992c3772e6 ("kbuild: use $(src) instead
> of $(srctree)/$(src) for source directory"). This fixes build failures
> of 'xconfig':
>
> $ make O=build/ xconfig
> make[1]: Entering directory '/data/linux/kbuild-review/build'
> GEN Makefile
> make[3]: *** No rule to make target '../scripts/kconfig/qconf-moc.cc', needed by 'scripts/kconfig/qconf-moc.o'. Stop.
>
> Fixes: b1992c3772e6 ("kbuild: use $(src) instead of $(srctree)/$(src) for source directory")
> Reported-by: Rolf Eike Beer <eb@xxxxxxxxx>
> Signed-off-by: Nicolas Schier <n.schier@xxxxxx>
Applied to linux-kbuild.
Thanks!
> ---
> scripts/Makefile.host | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.host b/scripts/Makefile.host
> index d35f55e0d141..e85be7721a48 100644
> --- a/scripts/Makefile.host
> +++ b/scripts/Makefile.host
> @@ -146,7 +146,7 @@ $(call multi_depend, $(host-cxxmulti), , -objs -cxxobjs)
> # Create .o file from a single .cc (C++) file
> quiet_cmd_host-cxxobjs = HOSTCXX $@
> cmd_host-cxxobjs = $(HOSTCXX) $(hostcxx_flags) -c -o $@ $<
> -$(host-cxxobjs): $(obj)/%.o: $(src)/%.cc FORCE
> +$(host-cxxobjs): $(obj)/%.o: $(obj)/%.cc FORCE
> $(call if_changed_dep,host-cxxobjs)
>
> # Create executable from a single Rust crate (which may consist of
>
> ---
> base-commit: 224a21441b0925ce1e60afb27629773a522c946e
> change-id: 20240624-kbuild-fix-xconfig-f0e95d0d5b27
>
> Best regards,
> --
> Nicolas Schier
>
--
Best Regards
Masahiro Yamada