Lines Matching +full:extra +full:- +full:user +full:- +full:files

1 .. _cmake-details:
32 .. code-block:: cmake
46 When introducing build system code using CMake or adding new CMake files,
47 please follow the style guidelines outlined :ref:`here <cmake-style>`.
59 -------------------
61 The configuration phase begins when the user invokes *CMake* to generate a
64 .. figure:: build-config-phase.svg
67 :figclass: align-center
72 top-level directory, which in turn refers to :file:`CMakeLists.txt` files
74 set of Makefiles or Ninja files to drive the build process, but the CMake
82 include*) files are collected from the target's architecture, SoC, board,
85 :file:`*.dtsi` files are included by :file:`*.dts` files via the C
88 :file:`*.overlay` files, and to expand macros in :file:`*.dts`,
89 :file:`*.dtsi`, and :file:`*.overlay` files. The preprocessor output is
106 :file:`build/zephyr/zephyr.dts` to catch any extra warnings and errors
111 :ref:`dt-guide`.
114 :file:`Kconfig` files define available configuration options for the
118 Kconfig configurations are stored in *configuration files*. The initial
135 -----------
137 The build phase begins when the user invokes ``make`` or ``ninja``. Its
141 into four stages: the pre-build, first-pass binary, final binary, and
142 post-processing.
144 Pre-build
147 Pre-build occurs before any source files are compiled, because during
148 this phase header files used by the source files are generated.
151 Access to high-level data structures and members is sometimes
161 .. figure:: build-build-phase-1.svg
164 :figclass: align-center
170 Compilation proper begins with the first intermediate binary. Source files (C
173 (with reference to header files in the tree, as well as those
174 generated during the configuration phase and the pre-build stage(s)).
176 .. figure:: build-build-phase-2.svg
179 :figclass: align-center
204 by post-process steps that will impact the size of the final binary.
206 .. figure:: build-build-phase-3.svg
209 :figclass: align-center
219 .. figure:: build-build-phase-4.svg
222 :figclass: align-center
225 Intermediate binaries post-processing
242 .. figure:: build-postprocess-1.svg
244 :alt: Zephyr's intermediate binary post-process I
245 :figclass: align-center
256 .. figure:: build-postprocess-2.svg
258 :alt: Zephyr's intermediate binary post-process II
259 :figclass: align-center
267 .. figure:: build-postprocess-3.svg
269 :alt: Zephyr's intermediate binary post-process III
270 :figclass: align-center
282 .. figure:: build-postprocess-4.svg
284 :alt: Zephyr's intermediate binary post-process IV
285 :figclass: align-center
288 When no intermediate binary post-processing is required then the first
300 .. figure:: build-build-phase-5.svg
303 :figclass: align-center
313 .. figure:: build-build-phase-6.svg
315 :alt: Zephyr's build final stage post-process
316 :figclass: align-center
330 --------------------------------------------
333 :start-after: """
334 :end-before: """
339 -----------------------------------------------
342 :start-after: """
343 :end-before: """
348 ------------------------------------------------
351 :start-after: """
352 :end-before: """
357 -------------------------------------------------
360 :start-after: """
361 :end-before: """
366 ----------------------------------------------
370 :start-after: """
371 :end-before: """
376 ----------------------------------
379 :start-after: """
380 :end-before: """
385 ----------------------------------
388 :start-after: """
389 :end-before: """
394 ------------------------------------------------
397 :start-after: """
398 :end-before: """
403 ---------------------------------------------
406 :start-after: """
407 :end-before: """
410 --------------------------------------------------
413 :start-after: """
414 :end-before: """
419 -----------------------------------------------------
422 :start-after: """
423 :end-before: """