lkml.org 
[lkml]   [2023]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/8] kbuild: move more module installation code to scripts/Makefile.modinst
    Date
    Move more relevant code to scripts/Makefile.modinst.

    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    ---

    Makefile | 34 +++++++--------------------------
    scripts/Makefile.modinst | 41 +++++++++++++++++++++++++++++++++++++---
    2 files changed, 45 insertions(+), 30 deletions(-)

    diff --git a/Makefile b/Makefile
    index 7d9cab3d2186..82d22debf6c9 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -1477,24 +1477,6 @@ endif

    endif # CONFIG_MODULES

    -modinst_pre :=
    -ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
    -modinst_pre := __modinst_pre
    -endif
    -
    -modules_install: $(modinst_pre)
    -PHONY += __modinst_pre
    -__modinst_pre:
    - @rm -rf $(MODLIB)/kernel
    - @rm -f $(MODLIB)/build
    - @mkdir -p $(MODLIB)
    -ifdef CONFIG_MODULES
    - @ln -s $(CURDIR) $(MODLIB)/build
    - @sed 's:^\(.*\)\.o$$:kernel/\1.ko:' modules.order > $(MODLIB)/modules.order
    -endif
    - @cp -f modules.builtin $(MODLIB)/
    - @cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
    -
    ###
    # Cleaning is done on three levels.
    # make clean Delete most generated files
    @@ -1836,12 +1818,15 @@ help:
    @echo ' clean - remove generated files in module directory only'
    @echo ''

    +ifndef CONFIG_MODULES
    +modules modules_install: __external_modules_error
    __external_modules_error:
    @echo >&2 '***'
    @echo >&2 '*** The present kernel disabled CONFIG_MODULES.'
    @echo >&2 '*** You cannot build or install external modules.'
    @echo >&2 '***'
    @false
    +endif

    endif # KBUILD_EXTMOD

    @@ -1850,6 +1835,9 @@ endif # KBUILD_EXTMOD

    PHONY += modules modules_install modules_prepare

    +modules_install:
    + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
    +
    ifdef CONFIG_MODULES

    $(MODORDER): $(build-dir)
    @@ -1866,17 +1854,9 @@ PHONY += modules_check
    modules_check: $(MODORDER)
    $(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<

    -modules_install:
    - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
    -
    else # CONFIG_MODULES

    -# Modules not configured
    -# ---------------------------------------------------------------------------
    -
    -PHONY += __external_modules_error
    -
    -modules modules_install: __external_modules_error
    +modules:
    @:

    KBUILD_MODULES :=
    diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
    index 5d687a453d90..dc7c54669082 100644
    --- a/scripts/Makefile.modinst
    +++ b/scripts/Makefile.modinst
    @@ -13,9 +13,41 @@ install-y :=

    PHONY += prepare

    +ifeq ($(KBUILD_EXTMOD)$(modules_sign_only),)
    +
    +# Install more files for in-tree modules_install
    +
    +prepare:
    + $(Q)rm -fr $(MODLIB)/kernel $(MODLIB)/build
    + $(Q)mkdir -p $(sort $(dir $(install-y)))
    +
    +install-$(CONFIG_MODULES) += $(addprefix $(MODLIB)/, build modules.order)
    +
    +$(MODLIB)/build: FORCE
    + $(call cmd,symlink)
    +
    +quiet_cmd_symlink = SYMLINK $@
    + cmd_symlink = ln -s $(CURDIR) $@
    +
    +$(MODLIB)/modules.order: modules.order FORCE
    + $(call cmd,install_modorder)
    +
    +quiet_cmd_install_modorder = INSTALL $@
    + cmd_install_modorder = sed 's:^\(.*\)\.o$$:kernel/\1.ko:' $< > $@
    +
    +# Install modules.builtin(.modinfo) even when CONFIG_MODULES is disabled.
    +install-y += $(addprefix $(MODLIB)/, modules.builtin modules.builtin.modinfo)
    +
    +$(addprefix $(MODLIB)/, modules.builtin modules.builtin.modinfo): $(MODLIB)/%: % FORCE
    + $(call cmd,install)
    +
    +else
    +
    prepare:
    $(Q)mkdir -p $(sort $(dir $(install-y)))

    +endif
    +
    modules := $(call read-file, $(MODORDER))

    ifeq ($(KBUILD_EXTMOD),)
    @@ -34,9 +66,10 @@ suffix-$(CONFIG_MODULE_COMPRESS_XZ) := .xz
    suffix-$(CONFIG_MODULE_COMPRESS_ZSTD) := .zst

    modules := $(patsubst $(extmod_prefix)%.o, $(dst)/%.ko$(suffix-y), $(modules))
    -install-y += $(modules)

    -__modinst: $(modules)
    +install-$(CONFIG_MODULES) += $(modules)
    +
    +__modinst: $(install-y)
    @:

    #
    @@ -94,14 +127,16 @@ $(dst)/%.ko: $(extmod_prefix)%.ko FORCE
    $(call cmd,strip)
    $(call cmd,sign)

    +ifdef CONFIG_MODULES
    __modinst: depmod

    PHONY += depmod
    -depmod: $(modules)
    +depmod: $(install-y)
    $(call cmd,depmod)

    quiet_cmd_depmod = DEPMOD $(MODLIB)
    cmd_depmod = $(srctree)/scripts/depmod.sh $(KERNELRELEASE)
    +endif

    $(install-y): prepare

    --
    2.39.2
    \
     
     \ /
      Last update: 2023-08-23 13:52    [W:3.396 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site