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