Add hierarchy-file support to the DPDK makefiles, scripts, examples, tools, config files and headers, when invoking "make install-sdk" makefiles, scripts, examples and config files will be installed in: $(DESTDIR)/$(sdkdir) and headers will be installed in: $(DESTDIR)/$(includedir) where sdkdir=$(datadir) datadir=$(datarootdir)/dpdk datarootdir=$(prefix)/share includedir=$(prefix)/include/dpdk prefix=/usr/local by default, you can override "prefix", "sdkdir", "datadir", "datarootdir" and "includedir" vars. This hierarchy is based on: http://www.freedesktop.org/software/systemd/man/file-hierarchy.html and variables are based on: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html https://www.gnu.org/prep/standards/html_node/DESTDIR.html
Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo at intel.com> --- mk/rte.sdkinstall.mk | 19 +++++++++++++++++++ mk/rte.sdkroot.mk | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index e5e319d..6ed5e34 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -49,6 +49,8 @@ bindir ?= $(exec_prefix)/bin libdir ?= $(exec_prefix)/lib datarootdir ?= $(prefix)/share docdir ?= $(datarootdir)/doc/dpdk +datadir ?= $(datarootdir)/dpdk +sdkdir ?= $(datadir) HSLINKS := $(shell find $(RTE_OUTPUT)/include/ -name *.h) BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*)) NIC_FILES := $(wildcard $(RTE_SDK)/tools/*.py) @@ -170,6 +172,23 @@ install-doc: done \ fi # +# install sdk files in /usr/local/share/dpdk by default +# where prefix and "sdkdir", "datadir" and "prefix" var can be overridden. +# +.PHONY: install-sdk +install-sdk: install-headers + @echo ================== Installing sdk files + @[ -d $(DESTDIR)/$(sdkdir) ] || mkdir -p $(DESTDIR)/$(sdkdir); \ + cp -rf $(RTE_SDK)/mk $(DESTDIR)/$(sdkdir); \ + echo installing: $(RTE_SDK)/mk; \ + cp -rf $(RTE_SDK)/scripts $(DESTDIR)/$(sdkdir); \ + echo installing: $(RTE_SDK)/scripts; \ + cp -rf $(RTE_SDK)/examples $(DESTDIR)/$(sdkdir); \ + echo installing: $(RTE_SDK)/examples; + @[ -d $(DESTDIR)/$(sdkdir)/config ] || mkdir -p $(DESTDIR)/$(sdkdir)/config; \ + cp -f $(RTE_SDK)/build/.config $(DESTDIR)/$(sdkdir)/config; \ + echo installing: $(RTE_OUTPUT)/.config +# # uninstall: remove all built sdk # UNINSTALL_TARGETS := $(addsuffix _uninstall,\ diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index f56341d..6fac88a 100644 --- a/mk/rte.sdkroot.mk +++ b/mk/rte.sdkroot.mk @@ -98,8 +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 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 \ +install-sdk uninstall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@ .PHONY: doc help -- 2.6.3