blob: bdd287347a6be46a2a8a4ca8f278bab65bfaaccd [file] [log] [blame]
Olivier Deprez5ed0bee2023-06-08 10:55:05 +02001Building
J-Alves241c66c2023-10-19 13:59:29 +01002========
Olivier Deprez5ed0bee2023-06-08 10:55:05 +02003
J-Alves241c66c2023-10-19 13:59:29 +01004This page assumes the :ref:`Prerequisites` have been followed to install all project dependencies.
Olivier Deprez5ed0bee2023-06-08 10:55:05 +02005
J-Alves241c66c2023-10-19 13:59:29 +01006Hafnium
7^^^^^^^
Olivier Deprez5ed0bee2023-06-08 10:55:05 +02008
9By default, the Hafnium SPMC is built with clang for a few target platforms along
10with tests. From Hafnium top level directory, simply type:
11
12.. code:: shell
13
14 make
15
16The resulting FVP image is located in
17`out/reference/secure_aem_v8a_fvp_vhe_clang/hafnium.bin`.
18
19The presence of assertions in the final build can be set using the `ENABLE_ASSERTIONS`
20make variable, by default this is set to `true`, meaning asserts are included in the build.
21
22.. code:: shell
23
24 make ENABLE_ASSERTIONS=<true|false>
25
26Each project in the `project` directory specifies a root configurations of the
27build. Adding a project is the preferred way to extend support to new platforms.
28The target project that is built is selected by the `PROJECT` make variable, the
29default project is 'reference'.
30
31.. code:: shell
32
33 make PROJECT=<project_name>
34
35If you wish to change the value of the make variables you may need to first use:
36
37.. code:: shell
38
39 make clobber
40
41So the `args.gn` file will be regenerated with the new values.
42
J-Alves241c66c2023-10-19 13:59:29 +010043Hafnium Documentation
44^^^^^^^^^^^^^^^^^^^^^
45
46If you have already sourced a virtual environment, Poetry will respect this and
47install dependencies there.
48
49.. code:: shell
50
51 poetry run make doc
52
Olivier Deprez5ed0bee2023-06-08 10:55:05 +020053--------------
54
55*Copyright (c) 2023, Arm Limited. All rights reserved.*