[dpdk-dev,v4,4/7] mk: Add rule for installing modules
Commit Message
Add hierarchy-file support to the DPDK modules.
When invoking "make install-mod" modules will be
installed in: $(DESTDIR)/$(KERNEL_DIR)
If RTE_EXEC_ENV=linuxapp then
KERNEL_DIR=/lib/modules/$(uname -r)/extra/drivers/dpdk
else KERNEL_DIR=/boot/modules by default.
You can override KERNEL_DIR var.
This hierarchy is based on:
http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo@intel.com>
---
mk/rte.sdkinstall.mk | 21 +++++++++++++++++++++
mk/rte.sdkroot.mk | 4 ++--
2 files changed, 23 insertions(+), 2 deletions(-)
@@ -49,13 +49,20 @@ BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*))
NIC_FILES := $(wildcard $(BUILD_DIR)/tools/*.py)
BINARY_FILES += $(NIC_FILES)
LIBS := $(wildcard $(RTE_OUTPUT)/lib/*)
+MODULES := $(wildcard $(RTE_OUTPUT)/kmod/*)
include $(BUILD_DIR)/build/.config
RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
+RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
ifeq ($(RTE_ARCH),x86_64)
LIB_DIR ?= /usr/lib64
else
LIB_DIR ?= /usr/lib
endif
+ifeq ($(RTE_EXEC_ENV),linuxapp)
+KERNEL_DIR ?= /lib/modules/$(shell uname -r)/extra/drivers/dpdk
+else
+KERNEL_DIR ?= /boot/modules
+endif
endif
endif
@@ -127,6 +134,20 @@ install-lib:
echo installing: $$LIB; \
done
#
+# if RTE_EXEC_ENV=linuxapp modules install in:
+# /lib/modules/$(uname -r)/extra/drivers/dpdk
+# else /boot/modules/ by default
+# KERNEL_DIR can be overridden.
+#
+.PHONY: install-mod
+install-mod:
+ @echo ================== Installing modules
+ @[ -d $(DESTDIR)/$(KERNEL_DIR) ] || mkdir -p $(DESTDIR)/$(KERNEL_DIR)
+ @for MOD in ${MODULES}; do \
+ cp -rf $$MOD ${DESTDIR}/${KERNEL_DIR}; \
+ echo installing: $$MOD; \
+ done
+#
# uninstall: remove all built sdk
#
UNINSTALL_TARGETS := $(addsuffix _uninstall,\
@@ -97,8 +97,8 @@ test fast_test ring_test mempool_test perf_test coverage:
testall:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktestall.mk $@
-.PHONY: install install-headers install-bin install-lib uninstall
-install install-headers install-bin install-lib uninstall:
+.PHONY: install install-headers install-bin install-lib install-mod uninstall
+install install-headers install-bin install-lib install-mod uninstall:
$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
.PHONY: doc help