There has been a long-standing request to support building external
modules in a separate build directory.
In v2, 05/11 introduces a 'srcroot' variable.
(I am not sure if this is the best name, though)
$(srcroot) points to the top of the source directory.
- When M= is not given, it is the top of the kernel source
- When M= is given, it is the top of the external module source
Masahiro Yamada (11):
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: change working directory to external module directory with M=
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 modules in any directory
Documentation/dev-tools/coccinelle.rst | 20 +--
Documentation/kbuild/kbuild.rst | 8 +-
Documentation/kbuild/makefiles.rst | 14 ++
Documentation/kbuild/modules.rst | 29 ++++-
Makefile | 173 ++++++++++++++++---------
arch/arm/Makefile | 4 +-
arch/arm64/Makefile | 2 +-
arch/powerpc/Makefile | 4 +-
arch/riscv/Makefile | 2 +-
rust/Makefile | 4 +-
scripts/Kbuild.include | 2 +-
scripts/Makefile.build | 6 +-
scripts/Makefile.clean | 2 +-
scripts/Makefile.compiler | 2 +-
scripts/Makefile.host | 8 +-
scripts/Makefile.lib | 2 -
scripts/Makefile.modfinal | 20 +--
scripts/Makefile.modinst | 8 +-
scripts/Makefile.modpost | 24 ++--
scripts/coccicheck | 6 +-
scripts/depmod.sh | 4 +-
scripts/nsdeps | 10 +-
scripts/package/install-extmod-build | 7 +
23 files changed, 220 insertions(+), 141 deletions(-)
--
2.43.0