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)/build 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 25b8122..dff1e4d 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -48,13 +48,20 @@ BIN_DIR ?= /usr/bin HSLINKS := $(wildcard $(RTE_OUTPUT)/include/*) BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*)) 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)/build +else +KERNEL_DIR ?= /boot/modules +endif endif endif @@ -126,6 +133,20 @@ install-lib: echo installing: $$LIB; \ done # +# if RTE_EXEC_ENV=linuxapp modules install in: +# /lib/modules/$(uname -r)/build +# 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