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 | 25 +++++++++++++++++++++- doc/guides/freebsd_gsg/build_dpdk.rst | 40 +++++++++++++++++++++++++++++++++++ doc/guides/linux_gsg/build_dpdk.rst | 38 +++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+), 1 deletion(-)
diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt index bf18b48..66f0d0e 100644 --- a/doc/build-sdk-quick.txt +++ b/doc/build-sdk-quick.txt @@ -5,10 +5,21 @@ 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, nic bind files and documentation Build variables EXTRA_CPPFLAGS preprocessor options EXTRA_CFLAGS compiler options @@ -23,3 +34,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 for linux + /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..72826d0 100644 --- a/doc/guides/freebsd_gsg/build_dpdk.rst +++ b/doc/guides/freebsd_gsg/build_dpdk.rst @@ -136,6 +136,46 @@ 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 +--------------------------------------------- + +Following the next steps is possible configure, build and install specific files +according to a file hierarchy and a group of variables. + +.. code-block:: console + + make config T=<config template> + make + make <install target> + ++------------------+--------------------------------------------------------------------------------+ +| install target | Description | ++==================+================================================================================+ +|install |if T is not defined will call install-fhs install | ++------------------+--------------------------------------------------------------------------------+ +|install-headers |install headers files where includedir=$(prefix)/include/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-bin |install app files a dpdk tools where bindir=$(exec_prefix)/bin | ++------------------+--------------------------------------------------------------------------------+ +|install-lib |install libraries libdir=$(exec_prefix)/lib | ++------------------+--------------------------------------------------------------------------------+ +|install-doc |install documentation docdir=$(datarootdir)/doc/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-mod |install modules if RTE_EXEC_ENV=linuxapp then | +| |kerneldir=/lib/modules/$(uname -r)/extra/drivers/dpdk else | +| |kerneldir=/boot/modules | ++------------------+--------------------------------------------------------------------------------+ +|install-sdk |install headers, makefiles, scripts,examples and config files | +| |sdkdir=$(datarootdir)/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-fhs |install libraries, modules, app files, nic bind files (tools) and documentation | ++------------------+--------------------------------------------------------------------------------+ + +prefix=/usr/local, exec_prefix=$(prefix) and datarootdir=$(prefix)/share by default however prefix, exec_prefix, datarootdir and all path +variables can be overridden furthermore all targets can use 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..8566224 100644 --- a/doc/guides/linux_gsg/build_dpdk.rst +++ b/doc/guides/linux_gsg/build_dpdk.rst @@ -152,6 +152,44 @@ 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 +--------------------------------------------- + +Following the next steps is possible configure, build and install specific files +according to a file hierarchy and a group of variables. + +.. code-block:: console + + make config T=<config template> + make + make <install target> + ++------------------+--------------------------------------------------------------------------------+ +| install target | Description | ++==================+================================================================================+ +|install |if T is not defined will call install-fhs install | ++------------------+--------------------------------------------------------------------------------+ +|install-headers |install headers files where includedir=$(prefix)/include/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-bin |install app files a dpdk tools where bindir=$(exec_prefix)/bin | ++------------------+--------------------------------------------------------------------------------+ +|install-lib |install libraries libdir=$(exec_prefix)/lib | ++------------------+--------------------------------------------------------------------------------+ +|install-doc |install documentation docdir=$(datarootdir)/doc/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-mod |install modules if RTE_EXEC_ENV=linuxapp then | +| |kerneldir=/lib/modules/$(uname -r)/extra/drivers/dpdk else | +| |kerneldir=/boot/modules | ++------------------+--------------------------------------------------------------------------------+ +|install-sdk |install headers, makefiles, scripts,examples and config files | +| |sdkdir=$(datarootdir)/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-fhs |install libraries, modules, app files, nic bind files (tools) and documentation | ++------------------+--------------------------------------------------------------------------------+ + +prefix=/usr/local, exec_prefix=$(prefix) and datarootdir=$(prefix)/share by default however prefix, exec_prefix, datarootdir and all path +variables can be overridden furthermore all targets can use DESTDIR variable. + Browsing the Installed DPDK Environment Target ---------------------------------------------- -- 2.6.3