From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id 4FED58D85 for ; Wed, 2 Dec 2015 04:59:17 +0100 (CET) Received: by wmww144 with SMTP id w144so39973222wmw.0 for ; Tue, 01 Dec 2015 19:59:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=FDQM2t9svO/QvFrHQOJIiEUbv/BsXFwxgPyY7bF7p2I=; b=Vjv5lXZjy8xvykoRvOQYg2BgrHunEscbOS0Ve8MgZAVjhie9BzlPaDsn+QBIyZ7AaO f05cd1o/xJZ6iMjUulr2xbFedad8M2aHX8S4nu2wdu0N9uhd3ImXAv39/M+wDGT6Ng3/ KUIt1/tjrFIlYyBVz0dALfYuFllb19LS3DjkEbOApf0ZF5vNeoVlDVTgYR8g4PGcbShP sgdwT3Ve+PW9IAuPVxLoC1x3aFt5sFhBwTyuNJaphWePyhggfyJfuHqcGM2UYtCkh350 T3q1Vy0ugQbYmIgiBOnG8lPA0F8Cy159W+9XXKNlLJMB4GsauP7XsbmT/leX6vMpr6hi PPFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=FDQM2t9svO/QvFrHQOJIiEUbv/BsXFwxgPyY7bF7p2I=; b=gsS2+U0joTG1fFCJTRU+ITYOc6gb7dwA+MQWXd+i5/1TbHV3DgGerEr592DX0SXbeb nSB4Nn9Pac2h/1bYt97WEFKxF5kxVrpoKqiF7H7y6ojImYCQWkp8owzuzF5G1jgj9hTl ET9ztF9yLCUl8FWoZUj5wCY4wzOMzFRjexOAj4pDBsgFg6G0gkLuKFdB50U08qg8zzUb UowQC2h3ehpMbuuyQ6Q64QA/aLurvG65foCfA1jJmXVY6taq5f+3Ev766yPJX51fKxul 0D7M95oG90lHPgAwKl6ruoN4N8e537aSGW1YdAQWJHw15NuYo3hvArV+OCw6xIPPtIIJ 9Dkw== X-Gm-Message-State: ALoCoQkPs8X6h8ceiFBP9T4OlLiEpwXi+YSvqK3D3yyuwBLbdzi0rfSVrTJ0GK12JkYnp/DpSCtb X-Received: by 10.28.1.8 with SMTP id 8mr2551602wmb.40.1449028757125; Tue, 01 Dec 2015 19:59:17 -0800 (PST) Received: from XPS13.ibrowse.com ([93.158.52.3]) by smtp.gmail.com with ESMTPSA id h5sm783942wjz.21.2015.12.01.19.59.15 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 01 Dec 2015 19:59:16 -0800 (PST) From: Thomas Monjalon To: dev@dpdk.org Date: Wed, 2 Dec 2015 04:57:46 +0100 Message-Id: <1449028676-19232-1-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.5.2 Subject: [dpdk-dev] [PATCH 00/10] standard make install 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: Wed, 02 Dec 2015 03:59:17 -0000 Following the recent discussions, this is a proposal to have a standard installation process while keeping compatibility with most of the old behaviours. Thank you Mario and Bruce for having submitted other proposals. I hope there will be a strong consensus for this one. The doc and pkg/dpdk.spec are not updated yet. There will be a v2. More details below and in the commit messages. These variables can be overriden: prefix ?= /usr/local exec_prefix ?= $(prefix) kerneldir ?= $(exec_prefix)/kmod bindir ?= $(exec_prefix)/bin sbindir ?= $(exec_prefix)/sbin libdir ?= $(exec_prefix)/lib includedir ?= $(prefix)/include/dpdk datarootdir ?= $(prefix)/share docdir ?= $(datarootdir)/doc/dpdk datadir ?= $(datarootdir)/dpdk sdkdir ?= $(datadir) All paths are prefixed with $(DESTDIR) One rule install = install-runtime install-kmod install-sdk In current behaviour, the doc is not installed by default. -------- System-wise install example with DESTDIR= prefix=/usr kerneldir=/lib/modules/kver/extra # make install-runtime /usr/bin/testpmd /usr/lib/libethdev* /usr/lib/librte_* /usr/sbin/dpdk_nic_bind -> /usr/share/dpdk/tools/dpdk_nic_bind.py /usr/share/dpdk/.config /usr/share/dpdk/tools/ # make install-kmod /lib/modules/kver/extra/ # make install-sdk /usr/include/dpdk/ /usr/share/dpdk/mk/ /usr/share/dpdk/scripts/ /usr/share/dpdk/include -> /usr/include/dpdk/ /usr/share/dpdk/lib -> /usr/lib/ # make install-doc /usr/share/doc/dpdk/api/ /usr/share/doc/dpdk/examples/ /usr/share/doc/dpdk/guides/ -------- Local install example with old (compatible) command: # make install T=x86_64-native-linuxapp-gcc DESTDIR=install would be equivalent to: # make config T=x86_64-native-linuxapp-gcc 0=x86_64-native-linuxapp-gcc # make O=x86_64-native-linuxapp-gcc # make install O=x86_64-native-linuxapp-gcc prefix= DESTDIR=install install/bin/testpmd install/include/dpdk/ install/kmod/ install/lib/ install/sbin/dpdk_nic_bind -> ../share/dpdk/tools/dpdk_nic_bind.py install/share/dpdk/.config install/share/dpdk/include -> install/include/dpdk/ install/share/dpdk/lib -> install/lib/ install/share/dpdk/mk/ install/share/dpdk/scripts/ install/share/dpdk/tools/ It must be usable to build some applications as before: # make -C examples/helloworld RTE_SDK=$(readlink -m install) RTE_TARGET=x86_64-native-linuxapp-gcc The RTE_SDK directory must point to install/share/dpdk with a default install. RTE_TARGET was used to get the include and lib directories but is useless now. -------- Thomas Monjalon (10): mk: remove multi-target install mk: move installation procedure in install rule mk: install a standard cutomizable tree mk: introduce new install syntax mk: split install rule mk: install kernel modules mk: install binding tool in sbin directory mk: install doc mk: install examples app/proc_info: rename binary with prefix app/proc_info/Makefile | 2 +- doc/build-sdk-quick.txt | 11 ++-- mk/internal/rte.extvars.mk | 8 +++ mk/rte.sdkbuild.mk | 16 ------ mk/rte.sdkinstall.mk | 134 +++++++++++++++++++++++++++++++-------------- mk/rte.sdkroot.mk | 6 +- mk/rte.vars.mk | 7 --- 7 files changed, 113 insertions(+), 71 deletions(-) -- 2.5.2