Basic build
- make config T=x86_64-default-linuxapp-gcc && make
+ make defconfig && make
+ or
+ make config T=x86_64-native-linux-gcc && make
Build commands
- config get configuration from target template (T=)
- 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
- uninstall remove all installed targets
+ config get configuration from target template (T=)
+ defconfig auto-select target template based on arch, OS, etc.
+ all same as build (default rule)
+ build build in a configured directory
+ clean remove files but keep configuration
+ install T= configure, build and install a target in DESTDIR
+ install install optionally staged in DESTDIR
+ examples build examples for given targets (T=)
+ examples_clean clean examples for given targets (T=)
+ test compile tests and run basic unit tests
+ test-* run specific subset of unit tests
+ tags|etags|gtags generate tags database for given targets (T=)
+ cscope generate cscope database for given targets (T=)
Build variables
EXTRA_CPPFLAGS preprocessor options
EXTRA_CFLAGS compiler options
EXTRA_LDFLAGS linker options
- LIBPCAP_CFLAGS libpcap compiler options
- LIBPCAP_LDFLAGS libpcap linker options
+ EXTRA_LDLIBS linker library options
RTE_KERNELDIR linux headers path
+ RTE_DEVEL_BUILD stricter options (default: y in git tree)
CROSS toolchain prefix
V verbose
D debug dependencies
- O build directory (default: build/ - install default: ./)
- DESTDIR second-stage install directory
- T target template (install default: *) - used with config or install
+ O build directory (default: build/ - install T= default: ./)
+ DESTDIR staging install directory (default: empty)
+ prefix root install directory (default: /usr/local)
+ T target template - used with config or install
format: <arch-machine-execenv-toolchain>
templates in config/defconfig_*