[dpdk-dev] [PATCH v8 11/11] doc: Add information about new installation rules

Mario Carrillo mario.alfredo.c.arevalo at intel.com
Tue Dec 1 20:39:13 CET 2015


Information about variables and rules behaviour is added to
documentation.

Signed-off-by: Mario Carrillo <mario.alfredo.c.arevalo at intel.com>
---
 doc/build-sdk-quick.txt               | 23 ++++++++++++-
 doc/guides/freebsd_gsg/build_dpdk.rst | 62 +++++++++++++++++++++++++++++++++++
 doc/guides/linux_gsg/build_dpdk.rst   | 62 +++++++++++++++++++++++++++++++++++
 3 files changed, 146 insertions(+), 1 deletion(-)

diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
index bf18b48..89ddcac 100644
--- a/doc/build-sdk-quick.txt
+++ b/doc/build-sdk-quick.txt
@@ -5,10 +5,19 @@ Build commands
 	all              same as build (default rule)
 	build            build in a configured directory
 	clean            remove files but keep configuration
-	install          build many targets (wildcard allowed) and install in DESTDIR
+	install          if T is defined, build a target and install in DESTDIR else call install-fhs target
 	uninstall        remove all installed targets
 	examples         build examples for given targets (T=)
 	examples_clean   clean examples for given targets (T=)
+Install commands
+	install          if T is defined, build a target and install in DESTDIR else call install-fhs target
+	install-headers  install headers files
+	install-bin      install app files a dpdk tools
+	install-lib      install libraries
+	install-doc      install documentation
+	install-mod      install modules
+	install-sdk      install headers, makefiles, scripts, examples, tools and config files
+	install-fhs      install libraries, modules, app files, tools and documentation
 Build variables
 	EXTRA_CPPFLAGS   preprocessor options
 	EXTRA_CFLAGS     compiler options
@@ -23,3 +32,15 @@ Build variables
 	T         target template (install default: *) - used with config or install
 			format: <arch-machine-execenv-toolchain>
 			templates in config/defconfig_*
+Install variables
+	prefix          /usr/local by default it can be overridden
+	exec_prefix     $(prefix)
+	bindir          $(exec_prefix)/bin by default it can be overridden
+	includedir      $(prefix)/include by default it can be overridden
+	libdir          $(exec_prefix)/lib by default it can be overridden
+	docdir          $(datarootdir)/share/doc/dpdk by default it can be overridden
+	sdkdir          $(datadir)
+	datadir         $(datarootdir)/dpdk
+	datarootdir	$(prefix)/share
+	kerneldir       /lib/modules/$(uname -r)/extra/drivers/dpdk is for linux and
+			/boot/modules for BSD by default, they can be overridden
diff --git a/doc/guides/freebsd_gsg/build_dpdk.rst b/doc/guides/freebsd_gsg/build_dpdk.rst
index 8eff599..e5162fc 100644
--- a/doc/guides/freebsd_gsg/build_dpdk.rst
+++ b/doc/guides/freebsd_gsg/build_dpdk.rst
@@ -136,6 +136,68 @@ The DPDK is composed of several directories:
 
 *   config, tools, scripts, mk: Framework-related makefiles, scripts and configuration
 
+
+Build and install DPDK using a file hierarchy
+---------------------------------------------
+
+It is possible to configure, build and install specific groups of DPDK files
+into a file hierarchy using the following install commands and variables:
+
+.. code-block:: console
+
+	make config T=<config template>
+	make
+	make <install target>
+
+* ``install``
+
+  If ``T`` is not defined make will call ``install-fhs``.
+
+* ``install-headers``
+
+  Install headers files into ``includedir`` which is defined as
+  ``$(prefix)/include/dpdk``.
+
+* ``install-bin``
+
+  Install app files and dpdk tools into ``bindir`` which is defined as
+  ``$(exec_prefix)/bin``.
+
+* ``install-lib``
+
+  Install libraries into ``libdir`` which is defined as
+  ``$(exec_prefix)/lib``.
+
+* ``install-doc``
+
+  Install documentation into ``docdir`` which is defined as
+  ``$(datarootdir)/doc/dpdk``.
+
+* ``install-mod``
+
+  Install modules into ``kerneldir``. If ``RTE_EXEC_ENV`` is ``linuxapp`` then
+  ``kerneldir`` is ``/lib/modules/$(uname -r)/extra/drivers/dpdk`` otherwise
+  ``/boot/modules``.
+
+* ``install-sdk``
+
+  Install headers, makefiles, scripts, examples and config files into
+  ``sdkdir`` which is defined as ``$(datarootdir)/dpdk``.
+
+* ``install-fhs``
+
+  Install libraries, modules, app files, tools and documentation.
+
+The following defaults apply::
+
+   prefix=/usr/local
+   exec_prefix=$(prefix)
+   datarootdir=$(prefix)/share
+
+All path variables can be overridden and all targets can use the ``DESTDIR``
+variable.
+
+
 Installation of the DPDK Target Environments
 --------------------------------------------
 
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 2680e66..7f3ab9d 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -152,6 +152,68 @@ The user may also make modifications to the compile-time DPDK configuration by e
 
 In addition, the make clean command can be used to remove any existing compiled files for a subsequent full, clean rebuild of the code.
 
+
+Build and install DPDK using a file hierarchy
+---------------------------------------------
+
+It is possible to configure, build and install specific groups of DPDK files
+into a file hierarchy using the following install commands and variables:
+
+.. code-block:: console
+
+	make config T=<config template>
+	make
+	make <install target>
+
+* ``install``
+
+  If ``T`` is not defined make will call ``install-fhs``.
+
+* ``install-headers``
+
+  Install headers files into ``includedir`` which is defined as
+  ``$(prefix)/include/dpdk``.
+
+* ``install-bin``
+
+  Install app files and dpdk tools into ``bindir`` which is defined as
+  ``$(exec_prefix)/bin``.
+
+* ``install-lib``
+
+  Install libraries into ``libdir`` which is defined as
+  ``$(exec_prefix)/lib``.
+
+* ``install-doc``
+
+  Install documentation into ``docdir`` which is defined as
+  ``$(datarootdir)/doc/dpdk``.
+
+* ``install-mod``
+
+  Install modules into ``kerneldir``. If ``RTE_EXEC_ENV`` is ``linuxapp`` then
+  ``kerneldir`` is ``/lib/modules/$(uname -r)/extra/drivers/dpdk`` otherwise
+  ``/boot/modules``.
+
+* ``install-sdk``
+
+  Install headers, makefiles, scripts, examples and config files into
+  ``sdkdir`` which is defined as ``$(datarootdir)/dpdk``.
+
+* ``install-fhs``
+
+  Install libraries, modules, app files, tools and documentation.
+
+The following defaults apply::
+
+   prefix=/usr/local
+   exec_prefix=$(prefix)
+   datarootdir=$(prefix)/share
+
+All path variables can be overridden and all targets can use the ``DESTDIR``
+variable.
+
+
 Browsing the Installed DPDK Environment Target
 ----------------------------------------------
 
-- 
2.6.3



More information about the dev mailing list