From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: dev@dpdk.org
Subject: [PATCH v3 00/13] standard make install
Date: Thu, 3 Dec 2015 14:45:27 +0100 [thread overview]
Message-ID: <1449150340-21984-1-git-send-email-thomas.monjalon@6wind.com> (raw)
In-Reply-To: <1449118929-19962-1-git-send-email-thomas.monjalon@6wind.com>
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.
--------
Thomas Monjalon (13):
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
maintainers: take responsibility for build system
MAINTAINERS | 2 +-
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 | 150 +++++++++++++++++------
mk/rte.sdkroot.mk | 11 +-
mk/rte.sdktest.mk | 4 +-
mk/rte.sdktestall.mk | 57 ---------
mk/rte.vars.mk | 10 +-
pkg/dpdk.spec | 59 +++------
tools/setup.sh | 31 ++---
15 files changed, 167 insertions(+), 242 deletions(-)
delete mode 100644 mk/rte.sdktestall.mk
--
2.5.2
next prev parent reply other threads:[~2015-12-03 13:46 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-02 3:57 [PATCH 00/10] standard make install Thomas Monjalon
2015-12-02 3:57 ` [PATCH 01/10] mk: remove multi-target install Thomas Monjalon
2015-12-02 3:57 ` [PATCH 02/10] mk: move installation procedure in install rule Thomas Monjalon
2015-12-02 3:57 ` [PATCH 03/10] mk: install a standard cutomizable tree Thomas Monjalon
2015-12-02 10:27 ` Panu Matilainen
2015-12-02 11:25 ` Thomas Monjalon
2015-12-02 12:54 ` Panu Matilainen
2015-12-02 13:05 ` Thomas Monjalon
2015-12-02 13:29 ` Panu Matilainen
2015-12-02 3:57 ` [PATCH 04/10] mk: introduce new install syntax Thomas Monjalon
2015-12-02 3:57 ` [PATCH 05/10] mk: split install rule Thomas Monjalon
2015-12-02 3:57 ` [PATCH 06/10] mk: install kernel modules Thomas Monjalon
2015-12-02 9:53 ` Panu Matilainen
2015-12-02 10:09 ` Thomas Monjalon
2015-12-02 3:57 ` [PATCH 07/10] mk: install binding tool in sbin directory Thomas Monjalon
2015-12-02 9:58 ` Panu Matilainen
2015-12-02 3:57 ` [PATCH 08/10] mk: install doc Thomas Monjalon
2015-12-02 3:57 ` [PATCH 09/10] mk: install examples Thomas Monjalon
2015-12-02 3:57 ` [PATCH 10/10] app/proc_info: rename binary with prefix Thomas Monjalon
2015-12-02 7:44 ` [PATCH 00/10] standard make install Panu Matilainen
2015-12-02 9:25 ` Thomas Monjalon
2015-12-02 9:47 ` Panu Matilainen
2015-12-02 10:07 ` Thomas Monjalon
2015-12-03 5:01 ` [PATCH v2 00/12] " Thomas Monjalon
2015-12-03 5:01 ` [PATCH v2 01/12] mk: remove testall Thomas Monjalon
2015-12-03 5:01 ` [PATCH v2 02/12] mk: remove multi-target install Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 03/12] mk: move installation procedure in install rule Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 04/12] mk: install a standard cutomizable tree Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 05/12] mk: introduce new install syntax Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 06/12] mk: split install rule Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 07/12] mk: install kernel modules Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 08/12] mk: install binding tool in sbin directory Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 09/12] mk: install doc Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 10/12] mk: install examples Thomas Monjalon
2015-12-03 13:19 ` Panu Matilainen
2015-12-03 13:32 ` Thomas Monjalon
2015-12-03 13:35 ` Panu Matilainen
2015-12-03 5:02 ` [PATCH v2 11/12] app/proc_info: rename binary with prefix Thomas Monjalon
2015-12-03 5:02 ` [PATCH v2 12/12] pkg: update RPM with standard install Thomas Monjalon
2015-12-03 10:57 ` [PATCH v2 00/12] standard make install Bruce Richardson
2015-12-03 11:02 ` Thomas Monjalon
2015-12-03 11:06 ` Thomas Monjalon
2015-12-03 11:10 ` Bruce Richardson
2015-12-03 11:07 ` Bruce Richardson
2015-12-03 13:26 ` Panu Matilainen
2015-12-03 13:34 ` Thomas Monjalon
2015-12-03 15:52 ` Arevalo, Mario Alfredo C
2015-12-03 13:45 ` Thomas Monjalon [this message]
2015-12-03 13:45 ` [PATCH v3 01/13] mk: remove testall Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 02/13] mk: remove multi-target install Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 03/13] mk: move installation procedure in install rule Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 04/13] mk: install a standard cutomizable tree Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 05/13] mk: introduce new install syntax Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 06/13] mk: split install rule Thomas Monjalon
2015-12-07 23:22 ` Arevalo, Mario Alfredo C
2015-12-07 23:51 ` Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 07/13] mk: install kernel modules Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 08/13] mk: install binding tool in sbin directory Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 09/13] mk: install doc Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 10/13] mk: install examples Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 11/13] app/proc_info: rename binary with prefix Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 12/13] pkg: update RPM with standard install Thomas Monjalon
2015-12-03 13:45 ` [PATCH v3 13/13] maintainers: take responsibility for build system Thomas Monjalon
2015-12-04 9:40 ` Olivier MATZ
2015-12-03 15:31 ` [PATCH v3 00/13] standard make install Bruce Richardson
2015-12-03 17:05 ` Thomas Monjalon
2015-12-06 15:00 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1449150340-21984-1-git-send-email-thomas.monjalon@6wind.com \
--to=thomas.monjalon@6wind.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.