From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <mario.alfredo.c.arevalo@intel.com>
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by dpdk.org (Postfix) with ESMTP id 662B28D99
 for <dev@dpdk.org>; Tue,  1 Dec 2015 20:38:57 +0100 (CET)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by orsmga102.jf.intel.com with ESMTP; 01 Dec 2015 11:38:57 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.20,370,1444719600"; d="scan'208";a="832078495"
Received: from mcarril6-mobl.zpn.intel.com ([10.219.16.33])
 by orsmga001.jf.intel.com with ESMTP; 01 Dec 2015 11:38:55 -0800
From: Mario Carrillo <mario.alfredo.c.arevalo@intel.com>
To: dev@dpdk.org
Date: Tue,  1 Dec 2015 13:39:04 -0600
Message-Id: <1448998753-26599-3-git-send-email-mario.alfredo.c.arevalo@intel.com>
X-Mailer: git-send-email 2.6.3
In-Reply-To: <1448998753-26599-1-git-send-email-mario.alfredo.c.arevalo@intel.com>
References: <1442608390-12537-1-git-send-email-mario.alfredo.c.arevalo@intel.com>
 <1448998753-26599-1-git-send-email-mario.alfredo.c.arevalo@intel.com>
Cc: jos.c.venegas.munoz@intel.com
Subject: [dpdk-dev] [PATCH v8 02/11] mk: Add rule for installing app files
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Dec 2015 19:38:57 -0000

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@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