diff mbox series

kbuild: Fix include path in scripts/Makefile.modpost

Message ID 20220517105128.9720-1-3090101217@zju.edu.cn (mailing list archive)
State New, archived
Headers show
Series kbuild: Fix include path in scripts/Makefile.modpost | expand

Commit Message

Jing Leng May 17, 2022, 10:51 a.m. UTC
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(-)

Comments

Masahiro Yamada May 23, 2022, 5:52 p.m. UTC | #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.
diff mbox series

Patch

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