Re: [PATCH 00/23] kbuild: support building external modules in a separate build directory

From: Masahiro Yamada
Date: Sat Sep 28 2024 - 02:50:53 EST


On Tue, Sep 17, 2024 at 11:17 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
>
> There has been a long-standing request to support building external
> modules in a separate build directory.
>
> The first half is cleanups of documents and Makefiles.
>
> The last part adds KBUILD_EXTMOD_OUTPUT (MO=).
> This is too big changes, and too late for the current MW.
> (I did not test kselftest at all.)
> I hope people test this and may uncover some issues.
>
>
>
> Masahiro Yamada (23):
> kbuild: doc: update the description about Kbuild/Makefile split
> kbuild: doc: remove description about grepping CONFIG options
> kbuild: doc: remove outdated description of the limitation on -I usage
> kbuild: doc: remove the description about shipped files
> kbuild: doc: describe the -C option precisely for external module
> builds
> kbuild: doc: replace "gcc" in external module description
> kbuild: remove unnecessary prune of rust/alloc for rustfmt
> kbuild: simplify find command for rustfmt
> speakup: use SPKDIR=$(src) to specify the source directory
> kbuild: refactor the check for missing config files
> kbuild: check the presence of include/generated/rustc_cfg
> scripts/nsdeps: use VPATH as src_prefix
> kbuild: replace two $(abs_objtree) with $(CURDIR) in top Makefile
> kbuild: add $(objtree)/ prefix to some in-kernel build artifacts
> kbuild: rename abs_objtree to abs_output
> kbuild: use 'output' variable to create the output directory
> kbuild: build external modules in their directory
> kbuild: remove extmod_prefix, MODORDER, MODULES_NSDEPS variables
> kbuild: support building external modules in a separate build
> directory
> kbuild: support -fmacro-prefix-map for external modules
> kbuild: use absolute path in the generated wrapper Makefile
> kbuild: make wrapper Makefile more convenient for external modules
> kbuild: allow to start building external module in any directory



I CC'ed rust ML because Ack for the following patches are appreciated.


[07/23] kbuild: remove unnecessary prune of rust/alloc for rustfmt
[08/23] kbuild: simplify find command for rustfmt
[11/23] kbuild: check the presence of include/generated/rustc_cfg







--
Best Regards
Masahiro Yamada