On Tue, Sep 17, 2024 at 11:16:50PM +0900, Masahiro Yamada wrote: > When Kbuild starts building in a separate output directory, it generates > a wrapper Makefile, allowing you to invoke 'make' from the output > directory. > > This commit makes it more convenient, so you can invoke 'make' without > M= or MO=. > > First, you need to build external modules in a separate directory: > > $ make M=/path/to/module/source/dir MO=/path/to/module/build/dir > > Once the wrapper Makefile is generated in /path/to/module/build/dir, > you can proceed as follows: > > $ cd /path/to/module/build/dir > $ make > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > Makefile | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 9f0ba07e8f25..81603a50c757 100644 > --- a/Makefile > +++ b/Makefile > @@ -641,10 +641,20 @@ ifdef building_out_of_srctree > # At the same time when output Makefile generated, generate .gitignore to > # ignore whole output directory > > +ifdef KBUILD_EXTMOD > +print_env_for_makefile = \ > + echo "export KBUILD_OUTPUT = $(objtree)"; \ > + echo "export KBUILD_EXTMOD = $(_vpath)" ; \ > + echo "export KBUILD_EXTMOD_OUTPUT = $(CURDIR)" > +else > +print_env_for_makefile = \ > + echo "export KBUILD_OUTPUT = $(CURDIR)" > +endif > + > quiet_cmd_makefile = GEN Makefile > cmd_makefile = { \ > echo "\# Automatically generated by $(abs_srctree)/Makefile: don't edit"; \ > - echo "export KBUILD_OUTPUT = $(CURDIR)"; \ > + $(print_env_for_makefile); \ > echo "include $(abs_srctree)/Makefile"; \ > } > Makefile > > -- > 2.43.0 Nice idea, thanks! Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>