1# SPDX-License-Identifier: Apache-2.0 2 3zephyr_library() 4 5zephyr_library_compile_definitions(_POSIX_C_SOURCE=200809L) 6 7zephyr_include_directories(.) 8 9zephyr_library_sources( 10 lwm2m_engine.c 11 lwm2m_registry.c 12 lwm2m_observation.c 13 lwm2m_message_handling.c 14 lwm2m_obj_security.c 15 lwm2m_obj_server.c 16 lwm2m_obj_device.c 17 lwm2m_rw_link_format.c 18 lwm2m_rw_plain_text.c 19 lwm2m_rw_opaque.c 20 lwm2m_util.c 21 lwm2m_rd_client.c 22 ) 23 24# LWM2M Object Support 25zephyr_library_sources_ifdef(CONFIG_LWM2M_CONN_MON_OBJ_SUPPORT 26 lwm2m_obj_connmon.c 27 ) 28zephyr_library_sources_ifdef(CONFIG_LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT 29 lwm2m_obj_firmware.c 30 ) 31zephyr_library_sources_ifdef(CONFIG_LWM2M_SWMGMT_OBJ_SUPPORT 32 lwm2m_obj_swmgmt.c 33 ) 34zephyr_library_sources_ifdef(CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT 35 lwm2m_obj_firmware_pull.c 36 lwm2m_pull_context.c 37 ) 38zephyr_library_sources_ifdef(CONFIG_LWM2M_LOCATION_OBJ_SUPPORT 39 lwm2m_obj_location.c 40 ) 41zephyr_library_sources_ifdef(CONFIG_LWM2M_GATEWAY_OBJ_SUPPORT 42 lwm2m_obj_gateway.c 43 ) 44zephyr_library_sources_ifdef(CONFIG_LWM2M_PORTFOLIO_OBJ_SUPPORT 45 lwm2m_obj_portfolio.c 46 ) 47zephyr_library_sources_ifdef(CONFIG_LWM2M_EVENT_LOG_OBJ_SUPPORT 48 lwm2m_obj_event_log.c 49 ) 50zephyr_library_sources_ifdef(CONFIG_LWM2M_BINARYAPPDATA_OBJ_SUPPORT 51 lwm2m_obj_binaryappdata.c 52 ) 53zephyr_library_sources_ifdef(CONFIG_LWM2M_ACCESS_CONTROL_ENABLE 54 lwm2m_obj_access_control.c 55 ) 56zephyr_library_sources_ifdef(CONFIG_LWM2M_UCIFI_LPWAN 57 ucifi_lpwan.c 58 ) 59 60# TLV Support 61zephyr_library_sources_ifdef(CONFIG_LWM2M_RW_OMA_TLV_SUPPORT 62 lwm2m_rw_oma_tlv.c 63 ) 64# JSON Support 65zephyr_library_sources_ifdef(CONFIG_LWM2M_RW_JSON_SUPPORT 66 lwm2m_rw_json.c 67 ) 68# SENML JSON support 69zephyr_library_sources_ifdef(CONFIG_LWM2M_RW_SENML_JSON_SUPPORT 70 lwm2m_rw_senml_json.c 71 ) 72# CBOR support 73zephyr_library_sources_ifdef(CONFIG_LWM2M_RW_CBOR_SUPPORT 74 lwm2m_rw_cbor.c 75 ) 76# SENML CBOR support 77zephyr_library_sources_ifdef(CONFIG_LWM2M_RW_SENML_CBOR_SUPPORT 78 lwm2m_rw_senml_cbor.c 79 lwm2m_senml_cbor_decode.c 80 lwm2m_senml_cbor_encode.c 81 ) 82 83# IPSO Objects 84zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_TEMP_SENSOR 85 ipso_temp_sensor.c 86 ) 87zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_GENERIC_SENSOR 88 ipso_generic_sensor.c 89 ) 90zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_HUMIDITY_SENSOR 91 ipso_humidity_sensor.c 92 ) 93zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_PRESSURE_SENSOR 94 ipso_pressure_sensor.c 95 ) 96zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_LIGHT_CONTROL 97 ipso_light_control.c 98 ) 99zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_ACCELEROMETER 100 ipso_accelerometer.c 101 ) 102zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_BUZZER 103 ipso_buzzer.c 104 ) 105zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_TIMER 106 ipso_timer.c 107 ) 108zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_ONOFF_SWITCH 109 ipso_onoff_switch.c 110 ) 111zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_PUSH_BUTTON 112 ipso_push_button.c 113 ) 114zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_CURRENT_SENSOR 115 ipso_current_sensor.c 116 ) 117zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_VOLTAGE_SENSOR 118 ipso_voltage_sensor.c 119 ) 120zephyr_library_sources_ifdef(CONFIG_LWM2M_IPSO_FILLING_SENSOR 121 ipso_filling_sensor.c 122 ) 123zephyr_library_sources_ifdef(CONFIG_LWM2M_UCIFI_BATTERY 124 ucifi_battery.c 125 ) 126 127# Shell commands 128zephyr_library_sources_ifdef(CONFIG_LWM2M_SHELL 129 lwm2m_shell.c 130) 131 132zephyr_linker_sources(SECTIONS iterables.ld) 133 134zephyr_library_link_libraries_ifdef(CONFIG_MBEDTLS mbedTLS) 135