Add hierarchy-file support to the DPDK nic bind files,
when invoking "make install-sbin" nic bind files will
be installed by default in: $(DESTDIR)/$(SBIN_DIR)
where SBIN_DIR=/usr/sbin/dpdk_nic_bind by default,
you can override SBIN_DIR var.
This hierarchy is based on:
http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
and dpdk spec file.

Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo at intel.com>
---
 mk/rte.sdkinstall.mk | 14 ++++++++++++++
 mk/rte.sdkroot.mk    |  4 ++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 5a2fd40..4eecf31 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -46,11 +46,13 @@ else
 INCLUDE_DIR ?= /usr/include/dpdk
 BIN_DIR ?= /usr/bin
 DOC_DIR ?= /usr/share/doc/dpdk
+SBIN_DIR ?= /usr/sbin/dpdk_nic_bind
 HSLINKS := $(wildcard $(RTE_OUTPUT)/include/*)
 BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*))
 LIBS := $(wildcard $(RTE_OUTPUT)/lib/*)
 MODULES := $(wildcard $(RTE_OUTPUT)/kmod/*)
 DOCS := $(wildcard $(BUILD_DIR)/doc/*)
+NIC_BIND_FILES := $(wildcard $(BUILD_DIR)/tools/*nic_bind.py)
 include $(BUILD_DIR)/build/.config
 RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
 RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
@@ -161,6 +163,18 @@ install-doc:
        echo installing: $$DOC; \
        done
 #
+# install nic bind files in /usr/sbin/dpdk_nic_bind
+# by default SBIN_DIR can be overridden.
+#
+.PHONY: install-sbin
+install-sbin:
+       @echo ================== Installing nic bind files
+       @[ -d $(DESTDIR)/$(SBIN_DIR) ] || mkdir -p $(DESTDIR)/$(SBIN_DIR)
+       @for NB_FILE in ${NIC_BIND_FILES}; do \
+       cp -rf $$NB_FILE ${DESTDIR}/${SBIN_DIR}; \
+       echo installing: $$NB_FILE; \
+       done
+#
 # uninstall: remove all built sdk
 #
 UNINSTALL_TARGETS := $(addsuffix _uninstall,\
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 43f937e..862af9e 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -98,9 +98,9 @@ testall:
        $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktestall.mk $@

 .PHONY: install install-headers install-bin install-lib install-mod \
-install-doc uninstall
+install-doc install-sbin uninstall
 install install-headers install-bin install-lib install-mod install-doc \
-uninstall:
+install-sbin uninstall:
        $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@

 .PHONY: doc help
-- 
2.1.0

Reply via email to