scripts/Makefile.modinst

Source file repositories/reference/linux-study-clean/scripts/Makefile.modinst

File Facts

System
Linux kernel
Corpus path
scripts/Makefile.modinst
Extension
.modinst
Size
3970 bytes
Lines
168
Domain
Support Tooling And Documentation
Bucket
scripts
Inferred role
Support Tooling And Documentation: build/configuration rule
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
# ==========================================================================
# Installing modules
# ==========================================================================

PHONY := __modinst
__modinst:

include $(objtree)/include/config/auto.conf
include $(srctree)/scripts/Kbuild.include

install-y :=

ifeq ($(KBUILD_EXTMOD)$(sign-only),)

# remove the old directory and symlink
$(shell rm -fr $(MODLIB)/kernel $(MODLIB)/build)

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,.ranges) even when CONFIG_MODULES is disabled.
install-y += $(addprefix $(MODLIB)/, modules.builtin modules.builtin.modinfo)

install-$(CONFIG_BUILTIN_MODULE_RANGES) += $(MODLIB)/modules.builtin.ranges

$(addprefix $(MODLIB)/, modules.builtin modules.builtin.modinfo modules.builtin.ranges): $(MODLIB)/%: % FORCE
	$(call cmd,install)

endif

modules := $(call read-file, modules.order)

ifeq ($(KBUILD_EXTMOD),)
dst := $(MODLIB)/kernel
else
INSTALL_MOD_DIR ?= updates
dst := $(MODLIB)/$(INSTALL_MOD_DIR)
endif

$(foreach x, % :, $(if $(findstring $x, $(dst)), \
	$(error module installation path cannot contain '$x')))

suffix-y				:=
ifdef CONFIG_MODULE_COMPRESS_ALL
suffix-$(CONFIG_MODULE_COMPRESS_GZIP)	:= .gz
suffix-$(CONFIG_MODULE_COMPRESS_XZ)	:= .xz
suffix-$(CONFIG_MODULE_COMPRESS_ZSTD)	:= .zst
endif

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

__modinst: $(install-y)
	@:

#
# Installation
#

Annotation

Implementation Notes