2. Compiling the Sample Applications

This section explains how to compile the DPDK sample applications.

2.1. To compile all the sample applications

Set the path to DPDK source code if its not set:

export RTE_SDK=/path/to/rte_sdk

Go to DPDK source:

cd $RTE_SDK

Build DPDK:

make defconfig
make

Build the sample applications:

export RTE_TARGET=build
make -C examples

For other possible RTE_TARGET values and additional information on compiling see Compiling DPDK on Linux or 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.

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.

make DEBUG=1

2.2. To compile a single application

Set the path to DPDK source code:

export RTE_SDK=/path/to/rte_sdk

Go to DPDK source:

cd $RTE_SDK

Build DPDK:

make defconfig
make

Go to the sample application directory. Unless otherwise specified the sample applications are located in $RTE_SDK/examples/.

Build the application:

export RTE_TARGET=build
make

2.3. 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:

export RTE_TARGET=build
export RTE_SDK=/path/to/rte_sdk
make -C examples CROSS=aarch64-linux-gnu-
       or
make CROSS=aarch64-linux-gnu-