blob: 20fd4bdbe400aece0c887fae7b69b47ff7e5051b [file] [log] [blame]
# ==========================================================================
# 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)