From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 72EF58D3D for ; Tue, 1 Dec 2015 01:53:06 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP; 30 Nov 2015 16:53:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,366,1444719600"; d="scan'208";a="610300637" Received: from mcarril6-mobl.zpn.intel.com ([10.219.16.33]) by FMSMGA003.fm.intel.com with ESMTP; 30 Nov 2015 16:53:04 -0800 From: Mario Carrillo To: dev@dpdk.org Date: Mon, 30 Nov 2015 18:53:15 -0600 Message-Id: <1448931205-17357-2-git-send-email-mario.alfredo.c.arevalo@intel.com> X-Mailer: git-send-email 2.6.3 In-Reply-To: <1448931205-17357-1-git-send-email-mario.alfredo.c.arevalo@intel.com> References: <1442608390-12537-1-git-send-email-mario.alfredo.c.arevalo@intel.com> <1448931205-17357-1-git-send-email-mario.alfredo.c.arevalo@intel.com> Cc: jos.c.venegas.munoz@intel.com Subject: [dpdk-dev] [PATCH v7 01/11] mk: Add rule for installing headers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Dec 2015 00:53:06 -0000 Add hierarchy-file support to the DPDK headers, when invoking "make install-headers" headers will be installed in: $(DESTDIR)/$(includedir) where includedir=$(prefix)/include/dpdk and prefix=/usr/local by default, you can override "prefix" 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 --- mk/rte.sdkinstall.mk | 22 +++++++++++++++++++++- mk/rte.sdkroot.mk | 4 ++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk index 86c98a5..a4a01cf 100644 --- a/mk/rte.sdkinstall.mk +++ b/mk/rte.sdkinstall.mk @@ -41,6 +41,11 @@ endif # x86_64-native-*-gcc ifndef T T=* +ifneq (,$(wildcard $(RTE_OUTPUT)/.config)) +prefix ?= /usr/local +includedir ?= $(prefix)/include/dpdk +HSLINKS := $(shell find $(RTE_OUTPUT)/include/ -name *.h) +endif endif # @@ -72,7 +77,22 @@ install: $(INSTALL_TARGETS) echo "Using local configuration"; \ fi $(Q)$(MAKE) all O=$(BUILD_DIR)/$* - +# +# install headers in /usr/local/include/dpdk by default +# "prefix" and "includedir" vars can be overridden. +# +.PHONY: install-headers +install-headers: + @echo ================== Installing headers; + @if [ ! -z "${HSLINKS}" ]; then \ + for HSLINK in ${HSLINKS}; do \ + HEADER=$$(readlink -f $$HSLINK); \ + HEADER_DIR=$$(dirname $$HSLINK | sed 's/.*include\/*//'); \ + [ -d $(DESTDIR)/$(includedir)/$$HEADER_DIR ] || mkdir -p $(DESTDIR)/$(includedir)/$$HEADER_DIR; \ + cp -rf $$HEADER ${DESTDIR}/${includedir}/$$HEADER_DIR; \ + echo installing: $$HEADER; \ + done \ + fi # # uninstall: remove all built sdk # diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index e8423b0..8477a2b 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 uninstall -install uninstall: +.PHONY: install install-headers uninstall +install install-headers uninstall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@ .PHONY: doc help -- 2.6.3