[dpdk-dev] [PATCH v8 03/11] mk: Add rule for installing libraries

Mario Carrillo mario.alfredo.c.arevalo at intel.com
Tue Dec 1 20:39:05 CET 2015


Add hierarchy-file support to the DPDK libraries,
when invoking "make install-lib" libraries will
be installed in: $(DESTDIR)/$(libdir)
where libdir=$(exec_prefix)/usr/lib
prefix=/usr/local
and exec_prefix=$(prefix) by default,
you can override prefix, exec_prefix and libdir 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 | 16 ++++++++++++++++
 mk/rte.sdkroot.mk    |  4 ++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 93de06b..ff99afe 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -46,9 +46,11 @@ prefix ?= /usr/local
 exec_prefix ?= $(prefix)
 includedir ?= $(prefix)/include/dpdk
 bindir ?= $(exec_prefix)/bin
+libdir ?= $(exec_prefix)/lib
 HSLINKS := $(shell find  $(RTE_OUTPUT)/include/ -name *.h)
 BINARY_FILES := $(patsubst %.map,,$(wildcard $(RTE_OUTPUT)/app/*))
 NIC_FILES := $(wildcard $(RTE_SDK)/tools/*.py)
+LIBS := $(wildcard $(RTE_OUTPUT)/lib/*)
 BINARY_FILES += $(NIC_FILES)
 endif
 endif
@@ -113,6 +115,20 @@ install-bin:
 	done \
 	fi
 #
+# install libs in /usr/local/lib by default
+# "prefix" and "libdir" can be overridden.
+#
+.PHONY: install-lib
+install-lib:
+	@echo ================== Installing libraries
+	@if [ ! -z "${LIBS}" ]; then \
+	[ -d $(DESTDIR)/$(libdir) ] || mkdir -p $(DESTDIR)/$(libdir); \
+	for LIB in ${LIBS}; do \
+	cp -rf $$LIB ${DESTDIR}/${libdir}; \
+	echo installing: $$LIB; \
+	done \
+	fi
+#
 # uninstall: remove all built sdk
 #
 UNINSTALL_TARGETS := $(addsuffix _uninstall,\
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 24eaa60..7a72c9b 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 uninstall
-install install-headers install-bin uninstall:
+.PHONY: install install-headers install-bin install-lib uninstall
+install install-headers install-bin install-lib uninstall:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
 
 .PHONY: doc help
-- 
2.6.3



More information about the dev mailing list