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 at intel.com> --- mk/rte.sdkinstall.mk | 21 +++++++++++++++++++++ mk/rte.sdkroot.mk | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index 36a59fc..628d9fb 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -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,\ diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index 7a72c9b..e652218 100644 --- a/mk/rte.sdkroot.mk +++ b/mk/rte.sdkroot.mk @@ -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 -- 2.1.0