From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 7C6E18E58 for ; Thu, 3 Dec 2015 16:31:49 +0100 (CET) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP; 03 Dec 2015 07:31:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,378,1444719600"; d="scan'208";a="6912956" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.208.61]) by fmsmga004.fm.intel.com with SMTP; 03 Dec 2015 07:31:41 -0800 Received: by (sSMTP sendmail emulation); Thu, 03 Dec 2015 15:31:40 +0025 Date: Thu, 3 Dec 2015 15:31:40 +0000 From: Bruce Richardson To: Thomas Monjalon Message-ID: <20151203153140.GA11472@bricha3-MOBL3> References: <1449118929-19962-1-git-send-email-thomas.monjalon@6wind.com> <1449150340-21984-1-git-send-email-thomas.monjalon@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449150340-21984-1-git-send-email-thomas.monjalon@6wind.com> Organization: Intel Shannon Ltd. User-Agent: Mutt/1.5.23 (2014-03-12) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v3 00/13] 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: Thu, 03 Dec 2015 15:31:50 -0000 On Thu, Dec 03, 2015 at 02:45:27PM +0100, Thomas Monjalon wrote: > Following the recent discussions, this is a proposal to have a standard > installation process while keeping compatibility with most of the old > behaviours. > > v2 changes: > - fix default build dir > - RTE_TARGET subdir in $(sdkdir). > - better kerneldir defaults > - fix dpdk_nic_bind symlink > - always install doc if generated > - doc > - pkg/dpdk.spec > > v3 changes: > - fix install in a clean dir > - take responsibility in MAINTAINERS > > More details below and in the commit messages. > > These variables can be overriden: > > kerneldir ?= /lib/modules/$(shell uname -r)/extra/dpdk > prefix ?= /usr/local > exec_prefix ?= $(prefix) > 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) > targetdir ?= $(datadir)/$(RTE_TARGET) > > All paths are prefixed with $(DESTDIR) > > One rule install = install-runtime install-kmod install-sdk install-doc > > -------- > > 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/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/x86_64-default-linuxapp-gcc/.config > /usr/share/dpdk/x86_64-default-linuxapp-gcc/include -> /usr/include/dpdk/ > /usr/share/dpdk/x86_64-default-linuxapp-gcc/lib -> /usr/lib/ > > # make install-doc > /usr/share/doc/dpdk/api/ > /usr/share/doc/dpdk/guides/ > /usr/share/dpdk/examples/ > > -------- > > 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/doc/dpdk/ > install/share/dpdk/examples/ > install/share/dpdk/mk/ > install/share/dpdk/scripts/ > install/share/dpdk/tools/ > install/share/dpdk/x86_64-native-linuxapp-gcc/.config > install/share/dpdk/x86_64-native-linuxapp-gcc/include -> install/include/dpdk/ > install/share/dpdk/x86_64-native-linuxapp-gcc/lib -> install/lib/ > > It should 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. > > -------- > While I have no huge objections to this patchset, I don't like the fact that install does completely different things depending upon whether certain variables are defined or not. I believe the "old" default behaviour for install was poorly named, and while it's behaviour should be kept, a new name should be given to it to avoid having the target "install" so heavily overloaded. /Bruce