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