1cmake_minimum_required(VERSION 3.5) 2project(ampsim C ASM CXX) 3set(library amp) 4set(EXE ampsim) 5 6add_compile_options(-m32) 7add_compile_options(-g) 8 9aux_source_directory(../engine/quickjs_engine/addons/hardware/gpio DIR_ADDON_GPIO_SRCS) 10aux_source_directory(../engine/quickjs_engine/addons/hardware/ir DIR_ADDON_IR_SRCS) 11aux_source_directory(../engine/quickjs_engine/addons/hardware/pwm DIR_ADDON_PWM_SRCS) 12aux_source_directory(../engine/quickjs_engine/addons/hardware/onewire DIR_ADDON_ONEWIRE_SRCS) 13aux_source_directory(../engine/quickjs_engine/addons/hardware/rtc DIR_ADDON_RTC_SRCS) 14aux_source_directory(../engine/quickjs_engine/addons/hardware/uart DIR_ADDON_UART_SRCS) 15aux_source_directory(../engine/quickjs_engine/addons/hardware/wdg DIR_ADDON_WDG_SRCS) 16aux_source_directory(../engine/quickjs_engine/addons/hardware/adc DIR_ADDON_ADC_SRCS) 17aux_source_directory(../engine/quickjs_engine/addons/network/http DIR_ADDON_HTTP_SRCS) 18aux_source_directory(../engine/quickjs_engine/addons/network/netmgr DIR_ADDON_NETMGR_SRCS) 19aux_source_directory(../engine/quickjs_engine/addons/network/mqtt DIR_ADDON_MQTT_SRCS) 20aux_source_directory(../engine/quickjs_engine/addons/hardware/timer DIR_ADDON_TIMER_SRCS) 21aux_source_directory(../engine/quickjs_engine/addons/hardware/dac DIR_ADDON_DAC_SRCS) 22aux_source_directory(../engine/quickjs_engine/addons/hardware/i2c DIR_ADDON_I2C_SRCS) 23aux_source_directory(../engine/quickjs_engine/addons/utils/systimer DIR_ADDON_SYSTIMER_SRCS) 24aux_source_directory(../engine/quickjs_engine/addons/utils/system DIR_ADDON_SYSTEM_SRCS) 25aux_source_directory(../engine/quickjs_engine/addons/utils/fs DIR_ADDON_FS_SRCS) 26aux_source_directory(../engine/quickjs_engine/addons/utils/kv DIR_ADDON_KV_SRCS) 27aux_source_directory(../engine/quickjs_engine/addons/utils/builtin DIR_ADDON_BUILTIN_SRCS) 28aux_source_directory(../engine/quickjs_engine/addons/advanced/ota DIR_ADDON_OTA_SRCS) 29aux_source_directory(../engine/quickjs_engine/addons/advanced/audio DIR_ADDON_AUDIO_SRCS) 30aux_source_directory(../engine/quickjs_engine/addons/advanced/aiot DIR_ADDON_AIOT_SRCS) 31aux_source_directory(../engine/quickjs_engine/addons/libc DIR_ADDON_LIBC_SRCS) 32aux_source_directory(../engine/quickjs_engine/addons/repl DIR_ADDON_REPL_SRCS) 33aux_source_directory(../engine/quickjs_engine/addons DIR_ADDON_SRCS) 34aux_source_directory(../engine/quickjs_engine/startup DIR_QJS_STARTUP_SRCS) 35aux_source_directory(../main DIR_MAIN_SRCS) 36aux_source_directory(../services/amp_boot DIR_AMP_BOOT) 37aux_source_directory(../services/amp_utils DIR_AMP_UTILS) 38aux_source_directory(../services/amp_mgr DIR_AMP_MGR) 39aux_source_directory(../services/app_mgr DIR_AMP_APP_MGR) 40aux_source_directory(../services/board_mgr DIR_BOARD_MGR) 41aux_source_directory(../services/amp_memmgt DIR_AMP_MEMMGT) 42aux_source_directory(../jslib/bytecode DIR_JSLIB) 43aux_source_directory(../../amp_adapter/platform/linux DIR_PLATFORM_LINUX) 44aux_source_directory(../../amp_adapter/platform/linux/peripheral DIR_PLATFORM_LINUX_PERIPHERAL) 45aux_source_directory(../../uvoice/media DIR_UVOICE_MEDIA) 46aux_source_directory(../../uvoice/audio DIR_UVOICE_AUDIO) 47aux_source_directory(../../uvoice/stream DIR_UVOICE_STREAM) 48 49aux_source_directory(../../cjson/src DIR_CJSON) 50 51set(ulog_sources 52 ../../ulog/src/ulog_init.c 53 ../../ulog/src/ulog_ring_fifo.c 54 ../../ulog/src/ulog_utility.c 55 ../../ulog/src/ulog.c 56) 57 58set(DIR_UVOICE_COMMON 59 ../../uvoice/common/event.c 60 ../../uvoice/common/ringbuffer.c 61) 62 63aux_source_directory(../../linksdk/core/ DIR_LINKSDK_CORE) 64aux_source_directory(../../linksdk/core/sysdep/ DIR_LINKSDK_SYSDEP) 65aux_source_directory(../../linksdk/core/utils/ DIR_LINKSDK_UTILS) 66aux_source_directory(../../linksdk/components/bootstrap/ DIR_LINKSDK_BOOTSTRAP) 67aux_source_directory(../../linksdk/components/data-model/ DIR_LINKSDK_DATAMODEL) 68aux_source_directory(../../linksdk/components/subdev/ DIR_LINKSDK_SUBDEV) 69aux_source_directory(../../linksdk/external/ DIR_LINKSDK_EXTERNAL) 70aux_source_directory(../../linksdk/components/devinfo/ DIR_LINKSDK_DEVINFO) 71aux_source_directory(../../linksdk/components/dynreg/ DIR_LINKSDK_DYNREG) 72aux_source_directory(../../linksdk/components/ntp/ DIR_LINKSDK_NRP) 73aux_source_directory(../../http/src/ DIR_HTTP) 74 75set(linksdk_source 76 ${DIR_LINKSDK_CORE} 77 ${DIR_LINKSDK_SYSDEP} 78 ${DIR_LINKSDK_UTILS} 79 ${DIR_LINKSDK_BOOTSTRAP} 80 ${DIR_LINKSDK_DATAMODEL} 81 ${DIR_LINKSDK_SUBDEV} 82 ${DIR_LINKSDK_EXTERNAL} 83 ${DIR_LINKSDK_DEVINFO} 84 ${DIR_LINKSDK_DYNREG} 85 ${DIR_LINKSDK_NRP}) 86 87set(mbedtls_source 88 ../../mbedtls/library/aes.c 89 ../../mbedtls/library/aesni.c 90 ../../mbedtls/library/arc4.c 91 ../../mbedtls/library/asn1parse.c 92 ../../mbedtls/library/asn1write.c 93 ../../mbedtls/library/base64.c 94 ../../mbedtls/library/bignum.c 95 ../../mbedtls/library/blowfish.c 96 ../../mbedtls/library/camellia.c 97 ../../mbedtls/library/ccm.c 98 ../../mbedtls/library/cipher.c 99 ../../mbedtls/library/cipher_wrap.c 100 ../../mbedtls/library/cmac.c 101 ../../mbedtls/library/ctr_drbg.c 102 ../../mbedtls/library/des.c 103 ../../mbedtls/library/dhm.c 104 ../../mbedtls/library/ecdh.c 105 ../../mbedtls/library/ecdsa.c 106 ../../mbedtls/library/ecjpake.c 107 ../../mbedtls/library/ecp.c 108 ../../mbedtls/library/ecp_curves.c 109 ../../mbedtls/library/entropy.c 110 ../../mbedtls/library/entropy_poll.c 111 ../../mbedtls/library/error.c 112 ../../mbedtls/library/gcm.c 113 ../../mbedtls/library/havege.c 114 ../../mbedtls/library/hmac_drbg.c 115 ../../mbedtls/library/md.c 116 ../../mbedtls/library/md2.c 117 ../../mbedtls/library/md4.c 118 ../../mbedtls/library/md5.c 119 ../../mbedtls/library/md_wrap.c 120 ../../mbedtls/library/memory_buffer_alloc.c 121 ../../mbedtls/library/oid.c 122 ../../mbedtls/library/padlock.c 123 ../../mbedtls/library/pem.c 124 ../../mbedtls/library/pk.c 125 ../../mbedtls/library/pk_wrap.c 126 ../../mbedtls/library/pkcs12.c 127 ../../mbedtls/library/pkcs5.c 128 ../../mbedtls/library/pkparse.c 129 ../../mbedtls/library/pkwrite.c 130 ../../mbedtls/library/platform.c 131 ../../mbedtls/library/ripemd160.c 132 ../../mbedtls/library/rsa.c 133 ../../mbedtls/library/sha1.c 134 ../../mbedtls/library/sha256.c 135 ../../mbedtls/library/sha512.c 136 ../../mbedtls/library/threading.c 137 ../../mbedtls/library/timing.c 138 ../../mbedtls/library/version.c 139 ../../mbedtls/library/version_features.c 140 ../../mbedtls/library/xtea.c 141 ../../mbedtls/library/certs.c 142 ../../mbedtls/library/pkcs11.c 143 ../../mbedtls/library/x509.c 144 ../../mbedtls/library/x509_create.c 145 ../../mbedtls/library/x509_crl.c 146 ../../mbedtls/library/x509_crt.c 147 ../../mbedtls/library/x509_csr.c 148 ../../mbedtls/library/x509write_crt.c 149 ../../mbedtls/library/x509write_csr.c 150 ../../mbedtls/library/debug.c 151 ../../mbedtls/library/net_sockets.c 152 ../../mbedtls/library/ssl_cache.c 153 ../../mbedtls/library/ssl_ciphersuites.c 154 ../../mbedtls/library/ssl_cli.c 155 ../../mbedtls/library/ssl_cookie.c 156 ../../mbedtls/library/ssl_srv.c 157 ../../mbedtls/library/ssl_ticket.c 158 ../../mbedtls/library/ssl_tls.c 159 ../../mbedtls/library/platform_util.c 160 ../../mbedtls/library/rsa_internal.c 161) 162 163aux_source_directory(../../mbedtls/platform/aos/library/ DIR_MBEDTLS_LIB) 164 165add_library(${library} STATIC 166 ../entry/amp_entry.c 167 ../engine/quickjs_engine/quickjs/quickjs.c 168 ../engine/quickjs_engine/quickjs/libregexp.c 169 ../engine/quickjs_engine/quickjs/libunicode.c 170 ../engine/quickjs_engine/quickjs/cutils.c 171 ../engine/quickjs_engine/quickjs/libbf.c 172 ../engine/quickjs_engine/quickjs/linux_jquick_mutex.c 173 ../../linksdk/portfiles/aiot_port/aos_port.c 174 ${DIR_JSLIB} 175 ${DIR_ADDON_GPIO_SRCS} 176 ${DIR_ADDON_IR_SRCS} 177 ${DIR_ADDON_PWM_SRCS} 178 ${DIR_ADDON_ONEWIRE_SRCS} 179 ${DIR_ADDON_RTC_SRCS} 180 ${DIR_ADDON_UART_SRCS} 181 ${DIR_ADDON_WDG_SRCS} 182 ${DIR_ADDON_ADC_SRCS} 183 ${DIR_ADDON_HTTP_SRCS} 184 ${DIR_ADDON_AUDIO_SRCS} 185 ${DIR_ADDON_NETMGR_SRCS} 186 ${DIR_ADDON_TIMER_SRCS} 187 ${DIR_ADDON_DAC_SRCS} 188 ${DIR_ADDON_I2C_SRCS} 189 ${DIR_ADDON_SYSTIMER_SRCS} 190 ${DIR_ADDON_SYSTEM_SRCS} 191 ${DIR_ADDON_FS_SRCS} 192 ${DIR_ADDON_KV_SRCS} 193 ${DIR_ADDON_BUILTIN_SRCS} 194 ${DIR_ADDON_LIBC_SRCS} 195 ${DIR_QJS_STARTUP_SRCS} 196 ${DIR_ADDON_SRCS} 197 ${DIR_MAIN_SRCS} 198 ${DIR_AMP_MGR} 199 ${DIR_ADDON_REPL_SRCS} 200 ${DIR_AMP_MEMMGT} 201 ${DIR_BOARD_MGR} 202 ${DIR_PLATFORM_LINUX} 203 ${DIR_PLATFORM_LINUX_PERIPHERAL} 204 ${DIR_ADDON_AIOT_SRCS} 205 ${DIR_CJSON} 206 ${ulog_sources} 207 ${DIR_UVOICE_COMMON} 208 ../../uvoice/application/comb/comb.c 209 ../../uvoice/uvoice.c 210 ../../uvoice/audio/hal/linux/uvoice_pcm.c 211 ${DIR_UVOICE_MEDIA} 212 ${DIR_UVOICE_AUDIO} 213 ${DIR_UVOICE_STREAM} 214 ${linksdk_source} 215 ${mbedtls_source} 216 ${DIR_MBEDTLS_LIB} 217 ${DIR_HTTP} 218 ${DIR_ADDON_MQTT_SRCS} 219 ) 220 221 add_definitions( 222 -D UVOICE_PROJECT 223 -D UVOICE_PLAYER_ENABLE 224 -D UVOICE_EVENT_ENABLE 225 -D UVOICE_FILE_ENABLE 226 -D UVOICE_HTTP_ENABLE 227 -D UVOICE_MLIST_ENABLE 228 -D AUDIO_CACHE_ENABLE 229 -D ALICLOUD_TTS_SUPPORT 230 -D UVOICE_TTS_ENABLE 231 -D UVOICE_DOWNLOAD_ENABLE 232 -D UVOICE_RELEASE_VERSION_MAIN=1 233 -D UVOICE_RELEASE_VERSION_SUB=0 234 -D DEBUG 235 -D __os_linux__ 236 -D CONFIG_HTTP_SECURE=1 237 -D UVOICE_PCM_NO_ALSA 238 -D MBEDTLS_CONFIG_TLS_MAX_CONTENT_LEN=16384) 239 240target_compile_definitions(${library} PRIVATE __AOS_AMP__) 241target_compile_definitions(${library} PRIVATE CONFIG_VERSION=\"1.0\") 242target_compile_definitions(${library} PRIVATE CONFIG_KERNEL_LINUX) 243target_compile_definitions(${library} PRIVATE IPADDR_STRLEN_MAX=46) 244target_compile_definitions(${library} PRIVATE __os_linux__) 245 246target_include_directories(${library} PRIVATE ../engine/quickjs_engine/aos_port) 247target_include_directories(${library} PRIVATE ../engine/quickjs_engine/quickjs) 248target_include_directories(${library} PRIVATE ../engine/quickjs_engine/addons) 249target_include_directories(${library} PRIVATE ../engine/quickjs_engine/addons/common) 250target_include_directories(${library} PRIVATE ../engine/quickjs_engine) 251target_include_directories(${library} PRIVATE ../main/) 252target_include_directories(${library} PRIVATE ../services/amp_utils/) 253target_include_directories(${library} PRIVATE ../services/app_mgr/) 254target_include_directories(${library} PRIVATE ../services/board_mgr/) 255target_include_directories(${library} PRIVATE ../services/amp_boot/) 256target_include_directories(${library} PRIVATE ../services/amp_memmgt/) 257#target_include_directories(${library} PRIVATE ../utils/cJSON/) 258target_include_directories(${library} PRIVATE ../utils/list/) 259target_include_directories(${library} PRIVATE ../../amp_adapter/include) 260target_include_directories(${library} PRIVATE ../../amp_adapter/include/peripheral) 261target_include_directories(${library} PRIVATE ../../amp_adapter/platform/linux) 262target_include_directories(${library} PRIVATE ../../amp_adapter/portfiles) 263 264target_include_directories(${library} PRIVATE ../../mbedtls/include) 265target_include_directories(${library} PRIVATE ../../mbedtls/platform/include) 266target_include_directories(${library} PRIVATE ../../ulog/include) 267target_include_directories(${library} PRIVATE ../../ulog/internal) 268target_include_directories(${library} PRIVATE ../../osal_aos/include) 269target_include_directories(${library} PRIVATE ../../cjson/include) 270target_include_directories(${library} PRIVATE ../../ota/include) 271target_include_directories(${library} PRIVATE ../../linksdk/core) 272target_include_directories(${library} PRIVATE ../../linksdk/core/utils) 273target_include_directories(${library} PRIVATE ../../linksdk/core/sysdep) 274target_include_directories(${library} PRIVATE ../../linksdk/components/data-model) 275target_include_directories(${library} PRIVATE ../../linksdk/components/subdev) 276target_include_directories(${library} PRIVATE ../../linksdk/components/ntp) 277target_include_directories(${library} PRIVATE ../../linksdk/components/devinfo) 278target_include_directories(${library} PRIVATE ../../linksdk/components/dynreg) 279target_include_directories(${library} PRIVATE ../../netmgr/include) 280target_include_directories(${library} PRIVATE ../../uservice/include) 281target_include_directories(${library} PRIVATE ../../kv/include) 282target_include_directories(${library} PRIVATE ../../uvoice/include) 283target_include_directories(${library} PRIVATE ../../uvoice/internal) 284target_include_directories(${library} PRIVATE ../../uvoice/application/comb/include) 285target_include_directories(${library} PRIVATE ../../uvoice/audio) 286target_include_directories(${library} PRIVATE ../../http/include) 287target_include_directories(${library} PRIVATE ../../http/internal) 288target_include_directories(${library} PRIVATE ../../mbedtls/platform/aos/include) 289 290set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32") 291add_executable(${EXE} ampsim.c amp_stub.c) 292target_link_libraries(${EXE} ${library}) 293target_link_libraries(${EXE} "-lpthread") 294target_link_libraries(${EXE} "-lm") 295target_link_libraries(${EXE} "-lrt") 296 297 298 299 300 301 302 303