1# SPDX-License-Identifier: Apache-2.0
2
3zephyr_library()
4zephyr_library_link_libraries(subsys__bluetooth)
5
6zephyr_library_sources_ifdef(CONFIG_BT_MESH
7    main.c
8    cfg.c
9    adv.c
10    beacon.c
11    net.c
12    subnet.c
13    app_keys.c
14    heartbeat.c
15    crypto.c
16    access.c
17    msg.c
18    cfg_srv.c
19    health_srv.c
20    va.c
21    transport.c
22)
23
24zephyr_library_sources_ifdef(CONFIG_BT_MESH_ADV_LEGACY adv_legacy.c)
25
26zephyr_library_sources_ifdef(CONFIG_BT_MESH_ADV_EXT adv_ext.c)
27
28zephyr_library_sources_ifdef(CONFIG_BT_SETTINGS settings.c)
29
30zephyr_library_sources_ifdef(CONFIG_BT_MESH_RPL_STORAGE_MODE_SETTINGS rpl.c)
31
32zephyr_library_sources_ifdef(CONFIG_BT_MESH_LOW_POWER lpn.c)
33
34zephyr_library_sources_ifdef(CONFIG_BT_MESH_FRIEND friend.c)
35
36zephyr_library_sources_ifdef(CONFIG_BT_MESH_PROV prov.c)
37
38zephyr_library_sources_ifdef(CONFIG_BT_MESH_PROVISIONEE provisionee.c)
39
40zephyr_library_sources_ifdef(CONFIG_BT_MESH_PROVISIONER provisioner.c)
41
42zephyr_library_sources_ifdef(CONFIG_BT_MESH_PB_ADV pb_adv.c)
43
44zephyr_library_sources_ifdef(CONFIG_BT_MESH_PB_GATT_COMMON pb_gatt.c)
45
46zephyr_library_sources_ifdef(CONFIG_BT_MESH_PB_GATT pb_gatt_srv.c)
47
48zephyr_library_sources_ifdef(CONFIG_BT_MESH_PB_GATT_CLIENT pb_gatt_cli.c)
49
50zephyr_library_sources_ifdef(CONFIG_BT_MESH_GATT_CLIENT gatt_cli.c)
51
52zephyr_library_sources_ifdef(CONFIG_BT_MESH_PROXY_CLIENT proxy_cli.c)
53
54zephyr_library_sources_ifdef(CONFIG_BT_MESH_GATT_PROXY proxy_srv.c)
55
56zephyr_library_sources_ifdef(CONFIG_BT_MESH_GATT proxy_msg.c)
57
58zephyr_library_sources_ifdef(CONFIG_BT_MESH_CFG_CLI cfg_cli.c)
59
60zephyr_library_sources_ifdef(CONFIG_BT_MESH_HEALTH_CLI health_cli.c)
61
62zephyr_library_sources_ifdef(CONFIG_BT_MESH_SAR_CFG_CLI sar_cfg_cli.c)
63
64zephyr_library_sources_ifdef(CONFIG_BT_MESH_SAR_CFG_SRV sar_cfg_srv.c)
65
66zephyr_library_sources_ifdef(CONFIG_BT_MESH_SAR_CFG  sar_cfg.c)
67
68zephyr_library_sources_ifdef(CONFIG_BT_MESH_OP_AGG_SRV  op_agg_srv.c)
69
70zephyr_library_sources_ifdef(CONFIG_BT_MESH_OP_AGG_CLI  op_agg_cli.c)
71
72zephyr_library_sources_ifdef(CONFIG_BT_MESH_OP_AGG op_agg.c)
73
74zephyr_library_sources_ifdef(CONFIG_BT_MESH_LARGE_COMP_DATA_SRV  large_comp_data_srv.c)
75
76zephyr_library_sources_ifdef(CONFIG_BT_MESH_LARGE_COMP_DATA_CLI  large_comp_data_cli.c)
77
78zephyr_library_sources_ifdef(CONFIG_BT_MESH_PRIV_BEACON_SRV priv_beacon_srv.c)
79
80zephyr_library_sources_ifdef(CONFIG_BT_MESH_PRIV_BEACON_CLI priv_beacon_cli.c)
81
82zephyr_library_sources_ifdef(CONFIG_BT_MESH_SELF_TEST test.c)
83
84zephyr_library_sources_ifdef(CONFIG_BT_MESH_CDB cdb.c)
85
86add_subdirectory_ifdef(CONFIG_BT_MESH_SHELL shell)
87
88zephyr_library_sources_ifdef(CONFIG_BT_MESH_BLOB_SRV blob_srv.c)
89
90zephyr_library_sources_ifdef(CONFIG_BT_MESH_BLOB_CLI blob_cli.c)
91
92zephyr_library_sources_ifdef(CONFIG_BT_MESH_BLOB_IO_FLASH blob_io_flash.c)
93
94zephyr_library_sources_ifdef(CONFIG_BT_MESH_DFU_CLI dfu_cli.c)
95
96zephyr_library_sources_ifdef(CONFIG_BT_MESH_DFU_SRV dfu_srv.c)
97
98zephyr_library_sources_ifdef(CONFIG_BT_MESH_DFD_SRV dfd_srv.c)
99
100zephyr_library_sources_ifdef(CONFIG_BT_MESH_DFU_SLOTS dfu_slot.c)
101
102zephyr_library_sources_ifdef(CONFIG_BT_MESH_DFU_METADATA dfu_metadata.c)
103
104zephyr_library_sources_ifdef(CONFIG_BT_MESH_RPR_CLI rpr_cli.c)
105
106zephyr_library_sources_ifdef(CONFIG_BT_MESH_RPR_SRV rpr_srv.c)
107
108zephyr_library_sources_ifdef(CONFIG_BT_MESH_OD_PRIV_PROXY_CLI od_priv_proxy_cli.c)
109
110zephyr_library_sources_ifdef(CONFIG_BT_MESH_OD_PRIV_PROXY_SRV od_priv_proxy_srv.c)
111
112zephyr_library_sources_ifdef(CONFIG_BT_MESH_SOL_PDU_RPL_CLI sol_pdu_rpl_cli.c)
113
114zephyr_library_sources_ifdef(CONFIG_BT_MESH_OD_PRIV_PROXY_SRV sol_pdu_rpl_srv.c)
115
116zephyr_library_sources_ifdef(CONFIG_BT_MESH_BRG_CFG_CLI brg_cfg_cli.c)
117
118zephyr_library_sources_ifdef(CONFIG_BT_MESH_BRG_CFG_SRV brg_cfg_srv.c brg_cfg.c)
119
120zephyr_library_sources_ifdef(CONFIG_BT_MESH_SOLICITATION solicitation.c)
121
122zephyr_library_sources_ifdef(CONFIG_BT_MESH_STATISTIC statistic.c)
123
124zephyr_library_sources_ifdef(CONFIG_BT_MESH_ACCESS_DELAYABLE_MSG delayable_msg.c)
125
126if (CONFIG_BT_MESH_USES_TINYCRYPT)
127    zephyr_library_sources(crypto_tc.c)
128else()
129    zephyr_library_sources(crypto_psa.c)
130endif()
131
132zephyr_library_link_libraries_ifdef(CONFIG_MBEDTLS mbedTLS)
133
134zephyr_library_include_directories_ifdef(CONFIG_BUILD_WITH_TFM
135  $<TARGET_PROPERTY:tfm,TFM_BINARY_DIR>/api_ns/interface/include
136)
137
138zephyr_library_sources_ifdef(CONFIG_BT_TESTING testing.c)
139