2015-06-26 00:45:16 +08:00
|
|
|
.. _kbuild:
|
2015-06-03 03:41:20 +08:00
|
|
|
|
|
|
|
Kbuild User Guide
|
|
|
|
#################
|
|
|
|
|
|
|
|
The |project| build system is based on the Kbuild system used in the
|
2015-06-20 04:56:28 +08:00
|
|
|
Linux kernel (version 3.19-rc7). This way the |codename| embraces
|
2015-06-03 03:41:20 +08:00
|
|
|
the recursive model proposed by Linux and the configuration model
|
|
|
|
proposed by Kconfig.
|
|
|
|
|
2015-06-20 04:56:28 +08:00
|
|
|
The main difference between the Linux Kbuild system and the |codename|
|
2015-06-03 03:41:20 +08:00
|
|
|
build system is that the build is project centered. The consequence
|
|
|
|
is the need to define a project or application. The project drives
|
|
|
|
the build of the operating system.
|
|
|
|
For that reason, the build structure follows the Kbuild
|
|
|
|
architecture but it requires a project directory. The project
|
|
|
|
directory hosts the project's definition and code. Kbuild build the
|
|
|
|
kernel around the project directory.
|
|
|
|
|
|
|
|
Scope
|
|
|
|
*****
|
|
|
|
|
|
|
|
This document provides the details of the Kbuild implementation. It is
|
|
|
|
intended for application developers wanting to use the |project| as a
|
|
|
|
development platform and for kernel developers looking to modify or
|
|
|
|
expand the kernel functionality.
|
|
|
|
|
2015-06-26 00:45:16 +08:00
|
|
|
.. toctree::
|
2015-08-18 05:04:22 +08:00
|
|
|
:maxdepth: 2
|
2015-06-03 03:41:20 +08:00
|
|
|
|
2015-06-26 00:45:16 +08:00
|
|
|
kbuild_kconfig
|
|
|
|
kbuild_makefiles
|
2015-08-18 05:04:22 +08:00
|
|
|
kbuild_project
|
2015-06-26 00:45:16 +08:00
|
|
|
kbuild_targets
|
|
|
|
kbuild_toolchains
|