From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by dpdk.org (Postfix) with ESMTP id 9DD23568A for ; Thu, 3 Dec 2015 06:03:25 +0100 (CET) Received: by wmec201 with SMTP id c201so6450351wme.1 for ; Wed, 02 Dec 2015 21:03:25 -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:in-reply-to:references; bh=lv26E9bGz8E+HkhrQCveORVF47KryWiJh/Qsfd6DHLc=; b=lRrTmDXHZdF6VNG+K2HfGanpihym6q1zOgNzJTbO8bBPhZDjgQNawPhH4IBqdu0Gq/ lQMscyNHU5Szo1g6wE076eDM6dOIDaO/0e+9sB6gDxJ+5HgCQmYV6x5nbfa4oXgtgfco fUTp42trCUsjf+RZ3ckQX7jzotWAA8rh+IXMjTNZhL6r1gczzLB9y41SsoatDjT29Pjn pyNAKyfWlopMxuQ+KGZjMLPLpQvyXa377gp1B8wg2ldVyTTEw7/7iK0NXx/Lo1/AIf8a RemfzyPeVyEz/YK7aGWL4PAyuOSu+VCPaWxQ5zhpt7RhjJ/r7KN1itEZ1+k1FRgF07p7 xCBA== 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:in-reply-to :references; bh=lv26E9bGz8E+HkhrQCveORVF47KryWiJh/Qsfd6DHLc=; b=NqrVlTrjWBG8Pj5TRU4jBXNK6Cm/L46AHVs3SyRXK7VlILK/OKpMf48bJeTP69t9h8 p7OIdh82VJxOiUNmKcKK7i82VDeQWo77zYupNia1iql4jPiu9OlG3e6yDRzWSxboYkGj lrl4ypZRfAlGpHnEDyqNXmf+mMg/mR7Vj9IjfoM+DyY6MuWo4ryimvayqtPaF2dMoM0E B/2fS6iZoguUBki5tm3ZgpxRyqGrJJ7JyCag6AMyr4DY1hvuWc961pBqveFthmpQkiNu 3jDAx4EU+AvYqy+LpVsA5+KQTMn7AwN1TcnomnCI8TmhfD1YgbUNxxu+Bk5oHloOlWbt IV/g== X-Gm-Message-State: ALoCoQm487o0FtpsrAElz7E69aJp89HSg49Lhod50Cq7DLYDXP8GykmVac7KTPkoNOIuKcxl1wOM X-Received: by 10.28.46.137 with SMTP id u131mr9665263wmu.61.1449119005460; Wed, 02 Dec 2015 21:03:25 -0800 (PST) Received: from XPS13.ibrowse.com ([93.158.46.55]) by smtp.gmail.com with ESMTPSA id gl4sm5720379wjd.17.2015.12.02.21.03.23 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 02 Dec 2015 21:03:24 -0800 (PST) From: Thomas Monjalon To: dev@dpdk.org Date: Thu, 3 Dec 2015 06:01:57 +0100 Message-Id: <1449118929-19962-1-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.5.2 In-Reply-To: <1449028676-19232-1-git-send-email-thomas.monjalon@6wind.com> References: <1449028676-19232-1-git-send-email-thomas.monjalon@6wind.com> Subject: [dpdk-dev] [PATCH v2 00/12] 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 05:03:25 -0000 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 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. -------- Thomas Monjalon (12): mk: remove testall 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 pkg: update RPM with standard install app/proc_info/Makefile | 2 +- doc/build-sdk-quick.txt | 11 +- doc/guides/linux_gsg/build_dpdk.rst | 16 --- doc/guides/prog_guide/dev_kit_root_make_help.rst | 28 +---- doc/guides/sample_app_ug/proc_info.rst | 8 +- mk/internal/rte.extvars.mk | 4 + mk/rte.sdkbuild.mk | 16 --- mk/rte.sdkinstall.mk | 148 +++++++++++++++++------ mk/rte.sdkroot.mk | 10 +- mk/rte.sdktest.mk | 4 +- mk/rte.sdktestall.mk | 57 --------- mk/rte.vars.mk | 10 +- pkg/dpdk.spec | 59 +++------ tools/setup.sh | 31 ++--- 14 files changed, 163 insertions(+), 241 deletions(-) delete mode 100644 mk/rte.sdktestall.mk -- 2.5.2