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

Reply via email to