Add hierarchy-file support to the DPDK app files, nic bind file and cpu layout file when invoking "make install-bin" app files will be installed in: $(DESTDIR)/$(bindir) where bindir=$(exec_prefix)/usr/local/bin prefix=/usr/local and exec_prefix=$(prefix) by default, you can override prefix, exec_prefix and bindir 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 | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index a4a01cf..93de06b 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -43,8 +43,13 @@ ifndef T T=* ifneq (,$(wildcard $(RTE_OUTPUT)/.config)) prefix ?= /usr/local +exec_prefix ?= $(prefix) includedir ?= $(prefix)/include/dpdk +bindir ?= $(exec_prefix)/bin HSLINKS := $(shell find $(RTE_OUTPUT)/include/ -name *.h) +BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*)) +NIC_FILES := $(wildcard $(RTE_SDK)/tools/*.py) +BINARY_FILES += $(NIC_FILES) endif endif @@ -94,6 +99,20 @@ install-headers: done \ fi # +# install app files in /usr/local/bin by default +# "prefix" and "bindir" can be overridden. +# +.PHONY: install-bin +install-bin: + @echo ================== Installing app files; + @if [ ! -z "${BINARY_FILES}" ]; then \ + [ -d $(DESTDIR)/$(bindir) ] || mkdir -p $(DESTDIR)/$(bindir); \ + for BIN_FILE in ${BINARY_FILES}; do \ + cp -rf $$BIN_FILE ${DESTDIR}/${bindir}; \ + echo installing: $$BIN_FILE; \ + done \ + fi +# # uninstall: remove all built sdk # UNINSTALL_TARGETS := $(addsuffix _uninstall,\ diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index 8477a2b..24eaa60 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 uninstall -install install-headers uninstall: +.PHONY: install install-headers install-bin uninstall +install install-headers install-bin uninstall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@ .PHONY: doc help -- 2.6.3