xref: /dpdk/doc/guides/prog_guide/build_app.rst (revision 41dd9a6bc2d9c6e20e139ad713cc9d172572dd43)
15630257fSFerruh Yigit..  SPDX-License-Identifier: BSD-3-Clause
25630257fSFerruh Yigit    Copyright(c) 2010-2014 Intel Corporation.
3fc1f2750SBernard Iremonger
4fc1f2750SBernard IremongerBuilding Your Own Application
5fc1f2750SBernard Iremonger=============================
6fc1f2750SBernard Iremonger
7fc1f2750SBernard IremongerCompiling a Sample Application in the Development Kit Directory
8fc1f2750SBernard Iremonger---------------------------------------------------------------
9fc1f2750SBernard Iremonger
10*3cc6ecfdSCiara PowerTo compile a sample application with make (for example, hello world):
11fc1f2750SBernard Iremonger
12fc1f2750SBernard Iremonger.. code-block:: console
13fc1f2750SBernard Iremonger
14fc1f2750SBernard Iremonger    ~/DPDK$ cd examples/helloworld/
15fc1f2750SBernard Iremonger    ~/DPDK/examples/helloworld$ make
16fc1f2750SBernard Iremonger
17fc1f2750SBernard IremongerThe binary is generated in the build directory by default:
18fc1f2750SBernard Iremonger
19fc1f2750SBernard Iremonger.. code-block:: console
20fc1f2750SBernard Iremonger
21fc1f2750SBernard Iremonger    ~/DPDK/examples/helloworld$ ls build/app
22fc1f2750SBernard Iremonger    helloworld helloworld.map
23fc1f2750SBernard Iremonger
24*3cc6ecfdSCiara PowerPlease refer to :doc:`../linux_gsg/build_dpdk` for details on compiling with meson.
25*3cc6ecfdSCiara Power
26fc1f2750SBernard IremongerBuild Your Own Application Outside the Development Kit
27fc1f2750SBernard Iremonger------------------------------------------------------
28fc1f2750SBernard Iremonger
29fc1f2750SBernard IremongerThe sample application (Hello World) can be duplicated in a new directory as a starting point for your development:
30fc1f2750SBernard Iremonger
31fc1f2750SBernard Iremonger.. code-block:: console
32fc1f2750SBernard Iremonger
33fc1f2750SBernard Iremonger    ~$ cp -r DPDK/examples/helloworld my_rte_app
34fc1f2750SBernard Iremonger    ~$ cd my_rte_app/
35fc1f2750SBernard Iremonger    ~/my_rte_app$ make
36fc1f2750SBernard Iremonger
37fc1f2750SBernard IremongerCustomizing Makefiles
38fc1f2750SBernard Iremonger---------------------
39fc1f2750SBernard Iremonger
40fc1f2750SBernard IremongerApplication Makefile
41fc1f2750SBernard Iremonger~~~~~~~~~~~~~~~~~~~~
42fc1f2750SBernard Iremonger
43*3cc6ecfdSCiara PowerThe default makefile provided with the Hello World sample application is a good starting point.
44fc1f2750SBernard Iremonger
45fc1f2750SBernard IremongerThe user must define several variables:
46fc1f2750SBernard Iremonger
47fc1f2750SBernard Iremonger*   APP: Contains the name of the application.
48fc1f2750SBernard Iremonger
49fc1f2750SBernard Iremonger*   SRCS-y: List of source files (\*.c, \*.S).
50