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 | 22 +++++++++++++++++++- doc/guides/freebsd_gsg/build_dpdk.rst | 39 +++++++++++++++++++++++++++++++++++ doc/guides/linux_gsg/build_dpdk.rst | 39 +++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 1 deletion(-)
diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt index bf18b48..1c40dd7 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,12 @@ Build variables T target template (install default: *) - used with config or install format: <arch-machine-execenv-toolchain> templates in config/defconfig_* +Install variables + RTE_PREFIX /usr/local by default it can be overridden + BIN_DIR $(RTE_PREFIX)/bin by default it can be overridden + INCLUDE_DIR $(RTE_PREFIX)/include by default it can be overridden + LIB_DIR $(RTE_PREFIX)/lib by default it can be overridden + DOC_DIR $(RTE_PREFIX)/share/doc/dpdk by default it can be overridden + DATA_DIR $(RTE_PREFIX)/shareby default it can be overridden + KMOD_DIR /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..7d3e098 100644 --- a/doc/guides/freebsd_gsg/build_dpdk.rst +++ b/doc/guides/freebsd_gsg/build_dpdk.rst @@ -136,6 +136,45 @@ 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 INCLUDE_DIR=$(RTE_PREFIX)/include/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-bin |install app files a dpdk tools where BIN_DIR=$(RTE_PREFIX)/bin | ++------------------+--------------------------------------------------------------------------------+ +|install-lib |install libraries LIB_DIR=$(RTE_PREFIX)/lib | ++------------------+--------------------------------------------------------------------------------+ +|install-doc |install documentation DOC_DIR=$(RTE_PREFIX)/share/doc/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-mod |install modules if RTE_EXEC_ENV=linuxapp then | +| |KMOD_DIR=/lib/modules/$(uname -r)/extra/drivers/dpdk else KMOD_DIR=/boot/modules| ++------------------+--------------------------------------------------------------------------------+ +|install-sdk |install headers, makefiles, scripts,examples, tools and config files | +| |DATA_DIR=$(RTE_PREFIX)/share/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-fhs |install libraries, modules, app files, nic bind files and documentation | ++------------------+--------------------------------------------------------------------------------+ + +RTE_PREFIX=/usr/local by default however RTE_PREFIX 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..784c9fe 100644 --- a/doc/guides/linux_gsg/build_dpdk.rst +++ b/doc/guides/linux_gsg/build_dpdk.rst @@ -152,6 +152,45 @@ 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 INCLUDE_DIR=$(RTE_PREFIX)/include/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-bin |install app files a dpdk tools where BIN_DIR=$(RTE_PREFIX)/bin | ++------------------+--------------------------------------------------------------------------------+ +|install-lib |install libraries LIB_DIR=$(RTE_PREFIX)/lib | ++------------------+--------------------------------------------------------------------------------+ +|install-doc |install documentation DOC_DIR=$(RTE_PREFIX)/share/doc/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-mod |install modules if RTE_EXEC_ENV=linuxapp then | +| |KMOD_DIR=/lib/modules/$(uname -r)/extra/drivers/dpdk else KMOD_DIR=/boot/modules| ++------------------+--------------------------------------------------------------------------------+ +|install-sdk |install headers, makefiles, scripts,examples, tools and config files | +| |DATA_DIR=$(RTE_PREFIX)/share/dpdk | ++------------------+--------------------------------------------------------------------------------+ +|install-fhs |install libraries, modules, app files, nic bind files and documentation | ++------------------+--------------------------------------------------------------------------------+ + +RTE_PREFIX=/usr/local by default however RTE_PREFIX and all path variables can be overridden furthermore +all targets can use DESTDIR variable. + + Browsing the Installed DPDK Environment Target ---------------------------------------------- -- 2.6.1.120.g24a00ef