.. SPDX-License-Identifier: BSD-3-Clause Copyright(c) 2015 Intel Corporation. Compiling the Sample Applications ================================= This section explains how to compile the DPDK sample applications. To compile all the sample applications -------------------------------------- Set the path to DPDK source code if its not set: .. code-block:: console export RTE_SDK=/path/to/rte_sdk Go to DPDK source: .. code-block:: console cd $RTE_SDK Build DPDK: .. code-block:: console make defconfig make Build the sample applications: .. code-block:: console export RTE_TARGET=build make -C examples For other possible ``RTE_TARGET`` values and additional information on compiling see :ref:`Compiling DPDK on Linux ` or :ref:`Compiling DPDK on FreeBSD `. Applications are output to: ``$RTE_SDK/examples/app-dir/build`` or ``$RTE_SDK/examples/app-dir/$RTE_TARGET``. In the example above the compiled application is written to the ``build`` subdirectory. To have the applications written to a different location, the ``O=/path/to/build/directory`` option may be specified in the make command. .. code-block:: console make O=/tmp To build the applications for debugging use the ``DEBUG`` option. This option adds some extra flags, disables compiler optimizations and sets verbose output. .. code-block:: console make DEBUG=1 To compile a single application ------------------------------- Set the path to DPDK source code: .. code-block:: console export RTE_SDK=/path/to/rte_sdk Go to DPDK source: .. code-block:: console cd $RTE_SDK Build DPDK: .. code-block:: console make defconfig make Go to the sample application directory. Unless otherwise specified the sample applications are located in ``$RTE_SDK/examples/``. Build the application: .. code-block:: console export RTE_TARGET=build make To cross compile the sample application(s) ------------------------------------------ For cross compiling the sample application(s), please append 'CROSS=$(CROSS_COMPILER_PREFIX)' to the 'make' command. In example of AARCH64 cross compiling: .. code-block:: console export RTE_TARGET=build export RTE_SDK=/path/to/rte_sdk make -C examples CROSS=aarch64-linux-gnu- or make CROSS=aarch64-linux-gnu-