Add hierarchy-file support to the DPDK makefiles, scripts, examples, tools, config files and headers.
When invoking "make install-sdk" makefiles, scripts, examples, tools, config files will be installed in: $(DESTDIR)/$(SDK_DIR) and headers will be installed in: $(DESTDIR)/$(INCLUDE_DIR) Where SDK_DIR=/usr/share/dpdk and INCLUDE_DIR=/usr/include/dpdk by default. You can overrite SDK_DIR and INCLUDE_DIR vars. 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 | 20 ++++++++++++++++++++ mk/rte.sdkroot.mk | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index d917329..3675c5a 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -45,6 +45,7 @@ ifneq (,$(wildcard $(BUILD_DIR)/build/.config)) INCLUDE_DIR ?= /usr/include/dpdk BIN_DIR ?= /usr/bin DOC_DIR ?= /usr/share/doc/dpdk +DATA_DIR ?= /usr/share/dpdk HSLINKS := $(wildcard $(RTE_OUTPUT)/include/*) BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*)) NIC_FILES := $(wildcard $(BUILD_DIR)/tools/*.py) @@ -162,6 +163,25 @@ install-doc: echo installing: $$DOC; \ done # +# install sdk files in /usr/share/dpdk by default +# DATA_DIR can be overridden. +# +.PHONY: install-sdk +install-sdk: install-headers + @echo ================== Installing sdk files + @[ -d $(DESTDIR)/$(DATA_DIR) ] || mkdir -p $(DESTDIR)/$(DATA_DIR); \ + cp -rf $(BUILD_DIR)/mk $(DESTDIR)/$(DATA_DIR); \ + echo installing: $(BUILD_DIR)/mk; \ + cp -rf $(BUILD_DIR)/scripts $(DESTDIR)/$(DATA_DIR); \ + echo installing: $(BUILD_DIR)/scripts; \ + cp -rf $(BUILD_DIR)/examples $(DESTDIR)/$(DATA_DIR); \ + echo installing: $(BUILD_DIR)/examples; \ + cp -rf $(BUILD_DIR)/tools $(DESTDIR)/$(DATA_DIR); \ + echo installing: $(BUILD_DIR)/scripts + @[ -d $(DESTDIR)/$(DATA_DIR)/config ] || mkdir -p $(DESTDIR)/$(DATA_DIR)/config; \ + cp -f $(BUILD_DIR)/build/.config $(DESTDIR)/$(DATA_DIR)/config; \ + echo installing: $(BUILD_DIR)/build/.config +# # uninstall: remove all built sdk # UNINSTALL_TARGETS := $(addsuffix _uninstall,\ diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index 43f937e..6fac88a 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-sdk uninstall install install-headers install-bin install-lib install-mod install-doc \ -uninstall: +install-sdk uninstall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@ .PHONY: doc help -- 2.1.0