scripts/Makefile.modpost | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
From: Jing Leng <jleng@ambarella.com>
When building an external module, if users don't need to separate the
compilation output and source code, they run the following command:
"make -C $(LINUX_SRC_DIR) M=$(PWD)". At this point, "$(KBUILD_EXTMOD)"
and "$(src)" are the same.
If they need to separate them, they run "make -C $(KERNEL_SRC_DIR)
O=$(KERNEL_OUT_DIR) M=$(OUT_DIR) src=$(PWD)". Before running the
command, they need to copy "Kbuild" or "Makefile" to "$(OUT_DIR)" to
prevent compilation failure.
So the kernel should change the included path to avoid the copy operation.
Signed-off-by: Jing Leng <jleng@ambarella.com>
---
scripts/Makefile.modpost | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index 48585c4d04ad..0273bf7375e2 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -87,8 +87,7 @@ obj := $(KBUILD_EXTMOD)
src := $(obj)
# Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS
-include $(if $(wildcard $(KBUILD_EXTMOD)/Kbuild), \
- $(KBUILD_EXTMOD)/Kbuild, $(KBUILD_EXTMOD)/Makefile)
+include $(if $(wildcard $(src)/Kbuild), $(src)/Kbuild, $(src)/Makefile)
# modpost option for external modules
MODPOST += -e
--
2.17.1
On Tue, May 17, 2022 at 7:51 PM <3090101217@zju.edu.cn> wrote: > > From: Jing Leng <jleng@ambarella.com> > > When building an external module, if users don't need to separate the > compilation output and source code, they run the following command: > "make -C $(LINUX_SRC_DIR) M=$(PWD)". At this point, "$(KBUILD_EXTMOD)" > and "$(src)" are the same. > > If they need to separate them, they run "make -C $(KERNEL_SRC_DIR) > O=$(KERNEL_OUT_DIR) M=$(OUT_DIR) src=$(PWD)". Before running the > command, they need to copy "Kbuild" or "Makefile" to "$(OUT_DIR)" to > prevent compilation failure. > > So the kernel should change the included path to avoid the copy operation. > > Signed-off-by: Jing Leng <jleng@ambarella.com> > --- > scripts/Makefile.modpost | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost > index 48585c4d04ad..0273bf7375e2 100644 > --- a/scripts/Makefile.modpost > +++ b/scripts/Makefile.modpost > @@ -87,8 +87,7 @@ obj := $(KBUILD_EXTMOD) > src := $(obj) > > # Include the module's Makefile to find KBUILD_EXTRA_SYMBOLS > -include $(if $(wildcard $(KBUILD_EXTMOD)/Kbuild), \ > - $(KBUILD_EXTMOD)/Kbuild, $(KBUILD_EXTMOD)/Makefile) > +include $(if $(wildcard $(src)/Kbuild), $(src)/Kbuild, $(src)/Makefile) > > # modpost option for external modules > MODPOST += -e > -- > 2.17.1 > I do not think "M=$(OUT_DIR) src=$(PWD)" is the official way, but this patch is a clean up. Applied to linux-kbuild. Thanks. -- Best Regards Masahiro Yamada
© 2016 - 2026 Red Hat, Inc.