zephyr/doc/development/kbuild_targets.rst

137 lines
3.7 KiB
ReStructuredText

.. _kbuild_targets:
Supported Targets
*****************
This is the list of supported build system targets:
Clean targets
=============
* **clean:** Removes most generated files but keep the config
information.
* **distclean:** Removes editor backup and patch files.
* **pristine:** Alias name for distclean.
* **mrproper:** Removes all generated files + various backup files and
host tools files.
Configuration targets
=====================
* **config:** Updates current config utilizing a line-oriented program.
* **nconfig:** Updates current config utilizing a ncurses menu based
program.
* **menuconfig:** Updates current config utilizing a menu based program.
* **xconfig:** Updates current config utilizing a QT based front-end.
* **gconfig:** Updates current config utilizing a GTK based front-end.
* **oldconfig:** Updates current config utilizing a provided .config as
base.
* **silentoldconfig:** Same as oldconfig, but quietly, additionally
update dependencies.
* **defconfig:** New configuration with default from ARCH supplied
defconfig.
* **savedefconfig:** Saves current config as ./defconfig (minimal
configuration).
* **allnoconfig:** New configuration file where all options are
answered with no.
* **allyesconfig:** New configuration file where all options are
accepted with yes.
* **alldefconfig:** New configuration file with all symbols set to
default.
* **randconfig:** New configuration file with random answer to all
options.
* **listnewconfig:** Lists new options.
* **olddefconfig:** Same as silentoldconfig but sets new symbols to
their default value.
* **tinyconfig:** Configures the tiniest possible kernel.
Other generic targets
=====================
* **all:** Builds zephyr target.
* **zephyr:** Builds the bare kernel.
* **qemu:** Builds the bare kernel and runs the emulation with qemu.
x86 Supported default configuration files
=========================================
* **micro_quark_defconfig** Builds for microkernel Quark.
* **micro_generic_pc_defconfig:** Builds for microkernel generic PC.
* **micro_generic_pc_atom_n28xx_defconfig:** Builds for microkernel
generic PC atom n28xx processor.
* **micro_generic_pc_minuteia_defconfig:** Builds for microkernel
generic PC minuteia processor.
* **micro_generic_pc_pentium4_defconfig:** Builds for microkernel
generic PC Pentium4.
* **nano_quark_defconfig:** Builds for nanokernel Quark.
* **nano_generic_pc_defconfig:** Builds for nanokernel generic PC.
* **nano_generic_pc_atom_n28xx_defconfig:** - Builds for nanokernel
generic PC atom n28xx.
* **nano_generic_pc_minuteia_defconfig:** Builds for nanokernel
generic PC minuteia.
* **nano_generic_pc_pentium4_defconfig**: Builds for nanokernel
generic PC Pentium4.
arm Supported default configuration files
=========================================
* **micro_fsl_frdm_k64f_defconfig:** Builds for microkernel
FSL FRDM K64F.
* **micro_ti_lm3s6965_defconfig:** Builds for microkernel TI LM3S6965.
* **nano_fsl_frdm_k64f_defconfig:** Builds for nanokenrel FSL FRDM K64F.
* **nano_ti_lm3s6965_defconfig:** Builds for nanokernel TI LM3S6965.
Make Modifiers
==============
* **make V=0|1 [targets]** Modifies verbosity of the project.
* **0:** Quiet build (default).
* **1:** Verbose build.
* **2:** Gives the reason for rebuild of target.
* **make O=dir [targets]** Locates all output files in **dir**,
including :file:`.config.`.
Other Environment Variables
===========================
* :envvar:`USE_CCACHE=1` If set, use the :program:`ccache` utility to speed up builds.
`ccache` must be installed on your development workstation. For more
information see the `ccache documentation`_.
.. _CCACHE documentation: https://ccache.samba.org/