Re: [PATCH] kbuild: revive single target %.ko

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 2, 2019 at 7:24 PM Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
>
> I removed the single target %.ko in commit ff9b45c55b26 ("kbuild:
> modpost: read modules.order instead of $(MODVERDIR)/*.mod") because
> the modpost stage does not work reliably. For instance, the module
> dependency, modversion, etc. do not work if we lack symbol information
> from the other modules.
>
> Yet, some people still want to build only one module in their interest,
> and it may be still useful if it is used within those limitations.
>
> Fixes: ff9b45c55b26 ("kbuild: modpost: read modules.order instead of $(MODVERDIR)/*.mod")
> Reported-by: Don Brace <don.brace@xxxxxxxxxxxxx>
> Reported-by: Arend Van Spriel <arend.vanspriel@xxxxxxxxxxxx>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---

Applied to linux-kbuild/fixes.

>
>  Makefile | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 571cf862d7a4..e4c7211f5a3b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -997,6 +997,8 @@ endif
>
>  PHONY += prepare0
>
> +export MODORDER := $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)modules.order
> +
>  ifeq ($(KBUILD_EXTMOD),)
>  core-y         += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
>
> @@ -1766,6 +1768,10 @@ build-dir = $(patsubst %/,%,$(dir $(build-target)))
>         $(Q)$(MAKE) $(build)=$(build-dir) $(build-target)
>  %.symtypes: prepare FORCE
>         $(Q)$(MAKE) $(build)=$(build-dir) $(build-target)
> +%.ko: prepare FORCE
> +       $(Q)$(MAKE) $(build)=$(build-dir) $(build-target:.ko=.mod)
> +       $(Q)echo $(build-target) > $(MODORDER)
> +       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost || { rm -f $(MODORDER); false; }
>
>  # Modules
>  PHONY += /
> --
> 2.17.1
>


-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux