ucloud-iot-rtthread-package/SConscript

116 lines
4.5 KiB
Python

import os
from building import *
import rtconfig
cwd = GetCurrentDir()
src_base = []
sample_ucloud_mqtt_src = []
sample_ucloud_mqtt_dynamic_auth_src = []
sample_ucloud_http_publish_src = []
sample_ucloud_http_upload_file_src = []
sample_ucloud_shadow_src = []
sample_ucloud_dev_model_src = []
sample_ucloud_ota_src = []
CPPPATH = []
CPPDEFINES = []
LOCAL_CCFLAGS = ''
#include headfile
CPPPATH += [cwd + '/ports/rtthread']
CPPPATH += [cwd + '/ports/ssl']
CPPPATH += [cwd + '/ports/fal']
CPPPATH += [cwd + '/uiot/certs']
CPPPATH += [cwd + '/uiot/dev_model/include']
CPPPATH += [cwd + '/uiot/mqtt/include']
CPPPATH += [cwd + '/uiot/ota/include']
CPPPATH += [cwd + '/uiot/sdk-impl']
CPPPATH += [cwd + '/uiot/shadow/include']
CPPPATH += [cwd + '/uiot/utils']
src_base += Glob('uiot/utils/*.c')
src_base += Glob('ports/rtthread/HAL_OS_rtthread.c')
src_base += Glob('ports/rtthread/HAL_TCP_rtthread.c')
src_base += Glob('ports/rtthread/HAL_Timer_rtthread.c')
#Debug
if GetDepend(['PKG_USING_UCLOUD_DEBUG']):
CPPDEFINES += ['ENABLE_LOG_DEBUG', 'ENABLE_LOG_INFO', 'ENABLE_LOG_WARN', 'ENABLE_LOG_ERROR']
#Gen MQTT src file
if GetDepend(['PKG_USING_UCLOUD_MQTT']):
src_base += Glob('uiot/mqtt/src/*.c')
#Gen HTTP src file
if GetDepend(['PKG_USING_UCLOUD_HTTP']):
src_base += Glob('uiot/http/*.c')
#Gen shadow src file
if GetDepend(['PKG_USING_UCLOUD_SHADOW']):
src_base += Glob('uiot/shadow/src/*.c')
#Gen dev model src file
if GetDepend(['PKG_USING_UCLOUD_DEV_MODEL']):
src_base += Glob('uiot/dev_model/src/*.c')
#Gen ota src file
if GetDepend(['PKG_USING_UCLOUD_OTA']):
src_base += Glob('uiot/ota/src/*.c')
src_base += Glob('ports/fal/*.c')
src_base += Glob('ports/rtthread/HAL_Flash_rtthread.c')
#TLS used
if GetDepend(['PKG_USING_UCLOUD_TLS']):
src_base += Glob('uiot/certs/ca.c')
src_base += Glob('ports/ssl/HAL_TLS_mbedtls.c')
CPPDEFINES += ['MBEDTLS_CONFIG_FILE=<HAL_TLS_config.h>']
#Hub C-SDK core
group = DefineGroup('ucloud_iot_sdk', src_base, depend = ['PKG_USING_UCLOUD_IOT_SDK'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#MQTT Example
if GetDepend(['PKG_USING_UCLOUD_MQTT_SAMPLE']):
sample_ucloud_mqtt_src += Glob('samples/mqtt/mqtt_sample.c')
group = DefineGroup('sample_ucloud_mqtt', sample_ucloud_mqtt_src, depend = ['PKG_USING_UCLOUD_MQTT_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#MQTT Dynamic Auth Example
if GetDepend(['PKG_USING_UCLOUD_MQTT_DYNAMIC_AUTH_SAMPLE']):
sample_ucloud_mqtt_dynamic_auth_src += Glob('samples/dynamic_auth/dynamic_auth_sample.c')
group = DefineGroup('sample_ucloud_mqtt_dynamic_auth', sample_ucloud_mqtt_dynamic_auth_src, depend = ['PKG_USING_UCLOUD_MQTT_DYNAMIC_AUTH_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#Http Publish Example
if GetDepend(['PKG_USING_UCLOUD_HTTP_PUBLISH_SAMPLE']):
sample_ucloud_http_publish_src += Glob('samples/http/http_client_sample.c')
group = DefineGroup('sample_ucloud_http_publish', sample_ucloud_http_publish_src, depend = ['PKG_USING_UCLOUD_HTTP_PUBLISH_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#Http Upload File Example
if GetDepend(['PKG_USING_UCLOUD_HTTP_UPLOAD_FILE_SAMPLE']):
sample_ucloud_http_upload_file_src += Glob('samples/http/upload_file_sample.c')
group = DefineGroup('sample_ucloud_http_upload_file', sample_ucloud_http_upload_file_src, depend = ['PKG_USING_UCLOUD_HTTP_UPLOAD_FILE_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#Shadow Example
if GetDepend(['PKG_USING_UCLOUD_SHADOW_SAMPLE']):
sample_ucloud_shadow_src += Glob('samples/shadow/shadow_sample.c')
group = DefineGroup('sample_ucloud_shadow', sample_ucloud_shadow_src, depend = ['PKG_USING_UCLOUD_SHADOW_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#Dev Model Example
if GetDepend(['PKG_USING_UCLOUD_DEV_MODEL_SAMPLE']):
sample_ucloud_dev_model_src += Glob('samples/dev_model/dev_model_sample.c')
group = DefineGroup('sample_ucloud_dev_model', sample_ucloud_dev_model_src, depend = ['PKG_USING_UCLOUD_DEV_MODEL_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
#OTA Example
if GetDepend(['PKG_USING_UCLOUD_OTA_SAMPLE']):
sample_ucloud_ota_src += Glob('samples/ota/ota_sample.c')
group = DefineGroup('sample_ucloud_ota', sample_ucloud_ota_src, depend = ['PKG_USING_UCLOUD_OTA_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
Return('group')