Re: [PATCH] kbuild: move modpost out of 'scripts' target

From: Masahiro Yamada
Date: Fri Nov 23 2018 - 00:04:23 EST


On Wed, Nov 21, 2018 at 2:16 AM Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
>
> I am eagar to build under the scripts/ directory only with $(HOSTCC),
> but scripts/mod/ highly depends on the $(CC) and target arch headers.
> That it why the 'scripts' target must depend on 'asm-generic',
> 'gcc-plugins', and $(autoksyms_h).
>
> Move it to the 'prepare0' stage. I know this is a cheesy workaround,
> but better than the current situation.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>


Applied to linux-kbuild.



> ---
>
> Makefile | 3 ++-
> scripts/Makefile | 3 +--
> scripts/mod/Makefile | 2 --
> 3 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index b78cc97..21a7729 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1073,7 +1073,7 @@ include/config/kernel.release: $(srctree)/Makefile FORCE
> # Carefully list dependencies so we do not try to build scripts twice
> # in parallel
> PHONY += scripts
> -scripts: scripts_basic scripts_dtc asm-generic gcc-plugins $(autoksyms_h)
> +scripts: scripts_basic scripts_dtc
> $(Q)$(MAKE) $(build)=$(@)
>
> # Things we need to do before we recursively start building the kernel
> @@ -1111,6 +1111,7 @@ macroprepare: prepare1 archmacros
> archprepare: archheaders archscripts macroprepare scripts_basic
>
> prepare0: archprepare gcc-plugins
> + $(Q)$(MAKE) $(build)=scripts/mod
> $(Q)$(MAKE) $(build)=.
>
> # All the preparing..
> diff --git a/scripts/Makefile b/scripts/Makefile
> index ece52ff..b48259d 100644
> --- a/scripts/Makefile
> +++ b/scripts/Makefile
> @@ -37,9 +37,8 @@ build_unifdef: $(obj)/unifdef
> @:
>
> subdir-$(CONFIG_MODVERSIONS) += genksyms
> -subdir-y += mod
> subdir-$(CONFIG_SECURITY_SELINUX) += selinux
> subdir-$(CONFIG_GDB_SCRIPTS) += gdb
>
> # Let clean descend into subdirs
> -subdir- += basic dtc kconfig package gcc-plugins
> +subdir- += basic dtc kconfig mod package gcc-plugins
> diff --git a/scripts/mod/Makefile b/scripts/mod/Makefile
> index a5b4af4..42c5d50 100644
> --- a/scripts/mod/Makefile
> +++ b/scripts/mod/Makefile
> @@ -4,8 +4,6 @@ OBJECT_FILES_NON_STANDARD := y
> hostprogs-y := modpost mk_elfconfig
> always := $(hostprogs-y) empty.o
>
> -CFLAGS_REMOVE_empty.o := $(ASM_MACRO_FLAGS)
> -
> modpost-objs := modpost.o file2alias.o sumversion.o
>
> devicetable-offsets-file := devicetable-offsets.h
> --
> 2.7.4
>


--
Best Regards
Masahiro Yamada