Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
99 lines
2.5 KiB
ReStructuredText
99 lines
2.5 KiB
ReStructuredText
.. SPDX-License-Identifier: BSD-3-Clause
|
|
Copyright(c) 2010-2014 Intel Corporation.
|
|
|
|
.. _External_Application/Library_Makefile_help:
|
|
|
|
External Application/Library Makefile help
|
|
==========================================
|
|
|
|
External applications or libraries should include specific Makefiles from RTE_SDK, located in mk directory.
|
|
These Makefiles are:
|
|
|
|
* ${RTE_SDK}/mk/rte.extapp.mk: Build an application
|
|
|
|
* ${RTE_SDK}/mk/rte.extlib.mk: Build a static library
|
|
|
|
* ${RTE_SDK}/mk/rte.extobj.mk: Build objects (.o)
|
|
|
|
Prerequisites
|
|
-------------
|
|
|
|
The following variables must be defined:
|
|
|
|
* ${RTE_SDK}: Points to the root directory of the DPDK.
|
|
|
|
* ${RTE_TARGET}: Reference the target to be used for compilation (for example, x86_64-native-linuxapp-gcc).
|
|
|
|
Build Targets
|
|
-------------
|
|
|
|
Build targets support the specification of the name of the output directory, using O=mybuilddir.
|
|
This is optional; the default output directory is build.
|
|
|
|
* all, "nothing" (meaning just make)
|
|
|
|
Build the application or the library in the specified output directory.
|
|
|
|
Example:
|
|
|
|
.. code-block:: console
|
|
|
|
make O=mybuild
|
|
|
|
* clean
|
|
|
|
Clean all objects created using make build.
|
|
|
|
Example:
|
|
|
|
.. code-block:: console
|
|
|
|
make clean O=mybuild
|
|
|
|
Help Targets
|
|
------------
|
|
|
|
* help
|
|
|
|
Show this help.
|
|
|
|
Other Useful Command-line Variables
|
|
-----------------------------------
|
|
|
|
The following variables can be specified at the command line:
|
|
|
|
* S=
|
|
|
|
Specify the directory in which the sources are located. By default, it is the current directory.
|
|
|
|
* M=
|
|
|
|
Specify the Makefile to call once the output directory is created. By default, it uses $(S)/Makefile.
|
|
|
|
* V=
|
|
|
|
Enable verbose build (show full compilation command line and some intermediate commands).
|
|
|
|
* D=
|
|
|
|
Enable dependency debugging. This provides some useful information about why a target must be rebuilt or not.
|
|
|
|
* EXTRA_CFLAGS=, EXTRA_LDFLAGS=, EXTRA_ASFLAGS=, EXTRA_CPPFLAGS=
|
|
|
|
Append specific compilation, link or asm flags.
|
|
|
|
* CROSS=
|
|
|
|
Specify a cross-toolchain header that will prefix all gcc/binutils applications. This only works when using gcc.
|
|
|
|
Make from Another Directory
|
|
---------------------------
|
|
|
|
It is possible to run the Makefile from another directory, by specifying the output and the source dir. For example:
|
|
|
|
.. code-block:: console
|
|
|
|
export RTE_SDK=/path/to/DPDK
|
|
export RTE_TARGET=x86_64-native-linuxapp-icc
|
|
make -f /path/to/my_app/Makefile S=/path/to/my_app O=/path/to/build_dir
|