# ========================================================================== # Installing modules # ========================================================================== PHONY := __modinst __modinst: include scripts/Kbuild.include __modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) #PHONY += $(modules) __modinst: @: #$(info modules = $(modules)) INSTALL_MOD_DIR ?= extra list_modules_symbol_install := list_modules_install := ifdef KBUILD_EXTMOD #$(error Unexpect condition KBUILD_EXTMOD = $(KBUILD_EXTMOD)) AMODLIB := $(INSTALL_MOD_DIR)/lib/modules AMODSYMLIB := $(INSTALL_MOD_DIR)/../symbols/system/lib/modules $(foreach ko,$(modules),\ $(eval src0 := $(ko)) \ $(eval des1 := $(AMODSYMLIB)/$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(dir $(ko)))/$(notdir $(ko))) \ $(eval des2 := $(AMODLIB)/$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(dir $(ko)))/$(notdir $(ko))) \ $(eval $(des1) $(des2): $(src0)) \ $(eval list_modules_symbol_install += $(des1)) \ $(eval list_modules_install += $(des2)) \ ) else AMODLIB := $(INSTALL_MOD_PATH)/lib/modules AMODSYMLIB := $(INSTALL_MOD_PATH)/../symbols/system/lib/modules $(foreach ko,$(modules),\ $(eval src0 := $(ko)) \ $(eval des1 := $(AMODSYMLIB)/$(notdir $(ko))) \ $(eval des2 := $(AMODLIB)/$(notdir $(ko))) \ $(eval $(des1) $(des2): $(src0)) \ $(eval list_modules_symbol_install += $(des1)) \ $(eval list_modules_install += $(des2)) \ ) endif #$(info list_modules_symbol_install = $(list_modules_symbol_install)) #$(info list_modules_install = $(list_modules_install)) $(list_modules_install): @echo INSTALL $@ @mkdir -p $(dir $@) @cp $< $@ @$(mod_strip_cmd) $@ $(list_modules_symbol_install): @echo COPY $@ @mkdir -p $(dir $@) @cp $< $@ __modinst: $(list_modules_install) $(list_modules_symbol_install) # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable se we can use it in if_changed and friends. .PHONY: $(PHONY)