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

PHONY := __modsign
__modsign:

include $(srctree)/scripts/Kbuild.include

modules := $(sort $(shell cat modules.order))

PHONY += $(modules)
__modsign: $(modules)
	@:

quiet_cmd_sign_ko = SIGN [M] $(2)/$(notdir $@)
        cmd_sign_ko = $(mod_sign_cmd) $(2)/$(notdir $@)

# Modules built outside the kernel source tree go into extra by default
INSTALL_MOD_DIR ?= extra
ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))

modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))

$(modules):
	$(call cmd,sign_ko,$(MODLIB)/$(modinst_dir))

.PHONY: $(PHONY)
