Lines Matching full:build
3 Build System (CMake)
7 CMake is used to build your application together with the Zephyr kernel. A
8 CMake build is done in two stages. The first stage is called
9 **configuration**. During configuration, the CMakeLists.txt build scripts are
11 Zephyr build, and can generate build scripts that are native to the host
14 CMake supports generating scripts for several build systems, but only Ninja and
16 **build** stage by executing the generated build scripts. These build scripts
19 be executed again before building. The build scripts can detect some of these
23 Zephyr uses CMake's concept of a 'target' to organize the build. A
26 understand. All source code that goes into a Zephyr build does so by
30 build scripts like this:
47 Build and Configuration Phases
50 The Zephyr build process can be divided into two main phases: a configuration
51 phase (driven by CMake) and a build phase (driven by Make or Ninja).
59 build system, specifying a source application directory and a board target.
61 .. figure:: build-config-phase.svg
63 :alt: Zephyr's build configuration phase
70 throughout the build tree (directly and indirectly). Its primary output is a
71 set of Makefiles or Ninja files to drive the build process, but the CMake
74 Note that paths beginning with :file:`build/` below refer to the build
87 placed in :file:`build/zephyr/zephyr.dts.pre`.
91 :file:`build/zephyr/include/generated/devicetree_generated.h` header with
99 :file:`build/zephyr/zephyr.dts` in the build directory. This file's contents
103 :file:`build/zephyr/zephyr.dts` to catch any extra warnings and errors
131 Build Phase
134 The build phase begins when the user invokes ``make`` or ``ninja``. Its
137 :file:`zephyr.hex`, etc.) The build phase can be broken down, conceptually,
138 into four stages: the pre-build, first-pass binary, final binary, and
141 Pre-build
144 Pre-build occurs before any source files are compiled, because during
158 .. figure:: build-build-phase-1.svg
160 :alt: Zephyr's build stage I
171 generated during the configuration phase and the pre-build stage(s)).
173 .. figure:: build-build-phase-2.svg
175 :alt: Zephyr's build stage II
203 .. figure:: build-build-phase-3.svg
205 :alt: Zephyr's build stage III
216 .. figure:: build-build-phase-4.svg
218 :alt: Zephyr's build stage IV
228 To complete the build procedure the following scripts are executed on the
239 .. figure:: build-postprocess-1.svg
253 .. figure:: build-postprocess-2.svg
264 .. figure:: build-postprocess-3.svg
279 .. figure:: build-postprocess-4.svg
297 .. figure:: build-build-phase-5.svg
299 :alt: Zephyr's build final stage
310 .. figure:: build-build-phase-6.svg
312 :alt: Zephyr's build final stage post-process
322 The following is a detailed description of the scripts used during the build process.
326 :zephyr_file:`scripts/build/gen_syscalls.py`
329 .. include:: ../../../scripts/build/gen_syscalls.py
335 :zephyr_file:`scripts/build/gen_device_deps.py`
338 .. include:: ../../../scripts/build/gen_device_deps.py
344 :zephyr_file:`scripts/build/gen_kobject_list.py`
347 .. include:: ../../../scripts/build/gen_kobject_list.py
353 :zephyr_file:`scripts/build/gen_offset_header.py`
356 .. include:: ../../../scripts/build/gen_offset_header.py
362 :zephyr_file:`scripts/build/parse_syscalls.py`
366 .. include:: ../../../scripts/build/parse_syscalls.py
390 :zephyr_file:`scripts/build/gen_relocate_app.py`
393 .. include:: ../../../scripts/build/gen_relocate_app.py
399 :zephyr_file:`scripts/build/process_gperf.py`
402 .. include:: ../../../scripts/build/process_gperf.py
406 :zephyr_file:`scripts/build/gen_app_partitions.py`
409 .. include:: ../../../scripts/build/gen_app_partitions.py
415 :zephyr_file:`scripts/build/check_init_priorities.py`
418 .. include:: ../../../scripts/build/check_init_priorities.py