1# provide here your tool chain
2#CC = gcc
3#AR = ar
4#CC = /opt/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc
5#AR = /opt/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-ar
6#CC = clang-13
7
8#architecture
9#ARCH = -m32
10
11# the library is compiled with the folowing optimization
12OPT = -O0
13
14# Uncomment this to print intermediery results at runtime
15DEBUG_PRINT += -DDEBUG_PRINT
16
17# Uncomment this to enable building the unit tests
18DUNIT_TEST += -DUNIT_TEST
19
20# CBOR engine
21# currently only ZCBOR is supported
22CBOR_ENGINE += -DZCBOR
23
24# Uncomment to enable Non-volatile memory (NVM) support for storing security context between device reboots
25OSCORE_NVM_SUPPORT += -DOSCORE_NVM_SUPPORT
26
27# The uoscore-uedhoc can be used with different crypto angines.
28# The user can provide as well additinal cryptoengines by providing
29# implementations of the function defined (as week) in the crypto_wrapper file.
30# Curretnly we have build in support for the following engines which
31# allow fowing modes of operation and suites:
32#
33# EDHOC suites:
34# Value: 0
35#    Array: 10, -16, 8, 4, -8, 10, -16
36#    Desc: AES-CCM-16-64-128, SHA-256, 8, X25519, EdDSA,
37#          AES-CCM-16-64-128, SHA-256
38
39#    Value: 1
40#    Array: 30, -16, 16, 4, -8, 10, -16
41#    Desc: AES-CCM-16-128-128, SHA-256, 16, X25519, EdDSA,
42#          AES-CCM-16-64-128, SHA-256
43
44#    Value: 2
45#    Array: 10, -16, 8, 1, -7, 10, -16
46#    Desc: AES-CCM-16-64-128, SHA-256, 8, P-256, ES256,
47#          AES-CCM-16-64-128, SHA-256
48
49#    Value: 3
50#    Array: 30, -16, 16, 1, -7, 10, -16
51#    Desc: AES-CCM-16-128-128, SHA-256, 16, P-256, ES256,
52#          AES-CCM-16-64-128, SHA-256
53
54#    Value: 4
55#    Array: 24, -16, 16, 4, -8, 24, -16
56#    Desc: ChaCha20/Poly1305, SHA-256, 16, X25519, EdDSA,
57#          ChaCha20/Poly1305, SHA-256
58
59
60# EDHOC methods:
61# +-------+-------------------+-------------------+-------------------+
62# | Value | Initiator         | Responder         | Reference         |
63# +-------+-------------------+-------------------+-------------------+
64# |     0 | Signature Key     | Signature Key     | [[this document]] |
65# |     1 | Signature Key     | Static DH Key     | [[this document]] |
66# |     2 | Static DH Key     | Signature Key     | [[this document]] |
67# |     3 | Static DH Key     | Static DH Key     | [[this document]] |
68# +-------+-------------------+-------------------+-------------------+
69#
70#
71#
72# +--------+---------+---------+-------------------------------------------
73# protocol | suite   | method  | ENGINE
74# +--------+---------+---------+-------------------------------------------
75# | OSCORE |         |         | TINYCRYPT or MBEDTLS
76# | EDHOC  | 0/1     | 0/1/2   | COMPACT25519 with (TINYCRYPT or MBEDTLS)
77# | EDHOC  | 0/1     | 3       | MBEDTLS or (COMPACT25519 with TINYCRYPT)
78# | EDHOC  | 2/3     | 0/1/2/3 | MBEDTLS
79# | EDHOC  | 0/1/2/3 | 0/1/2/3 | MBEDTLS and COMPACT25519
80
81
82#CRYPTO_ENGINE += -DTINYCRYPT
83CRYPTO_ENGINE += -DCOMPACT25519
84CRYPTO_ENGINE += -DMBEDTLS