mirror of
https://gitee.com/Vancouver2017/luban-lite.git
synced 2025-12-16 09:08:56 +00:00
334 lines
10 KiB
Python
334 lines
10 KiB
Python
Import('AIC_ROOT')
|
|
Import('PRJ_KERNEL')
|
|
from building import *
|
|
|
|
import rtconfig
|
|
|
|
cwd = GetCurrentDir()
|
|
path = [cwd]
|
|
src = []
|
|
|
|
path += [
|
|
cwd + '/nimble/include',
|
|
cwd + '/nimble/host/include',
|
|
cwd + '/nimble/host/src',
|
|
cwd + '/nimble/host/services/ans/include',
|
|
cwd + '/nimble/host/services/bas/include',
|
|
cwd + '/nimble/host/services/bleuart/include',
|
|
cwd + '/nimble/host/services/dis/include',
|
|
cwd + '/nimble/host/services/gap/include',
|
|
cwd + '/nimble/host/services/gatt/include',
|
|
cwd + '/nimble/host/services/ias/include',
|
|
cwd + '/nimble/host/services/ipss/include',
|
|
cwd + '/nimble/host/services/lls/include',
|
|
cwd + '/nimble/host/services/tps/include',
|
|
cwd + '/nimble/host/store/ram/include',
|
|
cwd + '/nimble/host/store/config/include',
|
|
cwd + '/nimble/host/util/include',
|
|
cwd + '/nimble/transport/include',
|
|
cwd + '/nimble/transport/common/hci_h4/include',
|
|
cwd + '/nimble/transport/common/hci_h5/include',
|
|
cwd + '/porting/npl/rtthread/include',
|
|
cwd + '/porting/nimble/include']
|
|
|
|
# Host stack
|
|
src += Split('''
|
|
nimble/host/src/ble_att.c
|
|
nimble/host/src/ble_att_clt.c
|
|
nimble/host/src/ble_att_cmd.c
|
|
nimble/host/src/ble_att_svr.c
|
|
nimble/host/src/ble_cs.c
|
|
nimble/host/src/ble_dtm.c
|
|
nimble/host/src/ble_eatt.c
|
|
nimble/host/src/ble_eddystone.c
|
|
nimble/host/src/ble_gap.c
|
|
nimble/host/src/ble_gattc.c
|
|
nimble/host/src/ble_gatts.c
|
|
nimble/host/src/ble_gatts_lcl.c
|
|
nimble/host/src/ble_hs_adv.c
|
|
nimble/host/src/ble_hs_atomic.c
|
|
nimble/host/src/ble_hs.c
|
|
nimble/host/src/ble_hs_cfg.c
|
|
nimble/host/src/ble_hs_conn.c
|
|
nimble/host/src/ble_hs_flow.c
|
|
nimble/host/src/ble_hs_hci.c
|
|
nimble/host/src/ble_hs_hci_cmd.c
|
|
nimble/host/src/ble_hs_hci_evt.c
|
|
nimble/host/src/ble_hs_hci_util.c
|
|
nimble/host/src/ble_hs_id.c
|
|
nimble/host/src/ble_hs_log.c
|
|
nimble/host/src/ble_hs_mbuf.c
|
|
nimble/host/src/ble_hs_misc.c
|
|
nimble/host/src/ble_hs_mqueue.c
|
|
nimble/host/src/ble_hs_periodic_sync.c
|
|
nimble/host/src/ble_hs_pvcy.c
|
|
nimble/host/src/ble_hs_shutdown.c
|
|
nimble/host/src/ble_hs_startup.c
|
|
nimble/host/src/ble_hs_stop.c
|
|
nimble/host/src/ble_ibeacon.c
|
|
nimble/host/src/ble_iso.c
|
|
nimble/host/src/ble_l2cap.c
|
|
nimble/host/src/ble_l2cap_coc.c
|
|
nimble/host/src/ble_l2cap_sig.c
|
|
nimble/host/src/ble_l2cap_sig_cmd.c
|
|
nimble/host/src/ble_sm_alg.c
|
|
nimble/host/src/ble_sm.c
|
|
nimble/host/src/ble_sm_cmd.c
|
|
nimble/host/src/ble_sm_lgcy.c
|
|
nimble/host/src/ble_sm_sc.c
|
|
nimble/host/src/ble_store.c
|
|
nimble/host/src/ble_store_util.c
|
|
nimble/host/src/ble_uuid.c
|
|
nimble/host/services/ans/src/ble_svc_ans.c
|
|
nimble/host/services/bas/src/ble_svc_bas.c
|
|
nimble/host/services/bleuart/src/bleuart.c
|
|
nimble/host/services/dis/src/ble_svc_dis.c
|
|
nimble/host/services/gap/src/ble_svc_gap.c
|
|
nimble/host/services/gatt/src/ble_svc_gatt.c
|
|
nimble/host/services/ias/src/ble_svc_ias.c
|
|
nimble/host/services/ipss/src/ble_svc_ipss.c
|
|
nimble/host/services/lls/src/ble_svc_lls.c
|
|
nimble/host/services/tps/src/ble_svc_tps.c
|
|
nimble/host/store/ram/src/ble_store_ram.c
|
|
nimble/host/store/config/src/ble_store_config.c
|
|
nimble/host/util/src/addr.c
|
|
''')
|
|
|
|
# HCI transport
|
|
src += Split('''
|
|
nimble/transport/src/monitor.c
|
|
nimble/transport/src/transport.c
|
|
nimble/transport/common/hci_h4/src/hci_h4.c
|
|
nimble/transport/common/hci_h5/src/hci_h5.c
|
|
''')
|
|
|
|
if GetDepend(['LPKG_NIMBLE_HCI_USING_RTT_UART']):
|
|
src += Split("""
|
|
nimble/transport/rtthread/src/ble_hci_rtthread_uart.c
|
|
""")
|
|
|
|
# mesh
|
|
if GetDepend(['LPKG_NIMBLE_MESH']):
|
|
path += [cwd + '/nimble/host/mesh/include']
|
|
|
|
src += Split('''
|
|
nimble/host/mesh/src/access.c
|
|
nimble/host/mesh/src/adv_ext.c
|
|
nimble/host/mesh/src/adv_legacy.c
|
|
nimble/host/mesh/src/adv.c
|
|
nimble/host/mesh/src/aes-ccm.c
|
|
nimble/host/mesh/src/app_keys.c
|
|
nimble/host/mesh/src/beacon.c
|
|
nimble/host/mesh/src/cdb.c
|
|
nimble/host/mesh/src/cfg_cli.c
|
|
nimble/host/mesh/src/cfg_srv.c
|
|
nimble/host/mesh/src/cfg.c
|
|
nimble/host/mesh/src/crypto.c
|
|
nimble/host/mesh/src/friend.c
|
|
nimble/host/mesh/src/glue.c
|
|
nimble/host/mesh/src/health_cli.c
|
|
nimble/host/mesh/src/health_srv.c
|
|
nimble/host/mesh/src/heartbeat.c
|
|
nimble/host/mesh/src/light_model.c
|
|
nimble/host/mesh/src/lpn.c
|
|
nimble/host/mesh/src/mesh.c
|
|
nimble/host/mesh/src/model_cli.c
|
|
nimble/host/mesh/src/model_srv.c
|
|
nimble/host/mesh/src/msg.c
|
|
nimble/host/mesh/src/net.c
|
|
nimble/host/mesh/src/pb_adv.c
|
|
nimble/host/mesh/src/pb_gatt_srv.c
|
|
nimble/host/mesh/src/pb_gatt.c
|
|
nimble/host/mesh/src/prov_device.c
|
|
nimble/host/mesh/src/prov.c
|
|
nimble/host/mesh/src/provisioner.c
|
|
nimble/host/mesh/src/proxy_msg.c
|
|
nimble/host/mesh/src/proxy_srv.c
|
|
nimble/host/mesh/src/rpl.c
|
|
nimble/host/mesh/src/settings.c
|
|
nimble/host/mesh/src/shell.c
|
|
nimble/host/mesh/src/subnet.c
|
|
nimble/host/mesh/src/transport.c
|
|
''')
|
|
|
|
# Few utils and data structures copied from Mynewt
|
|
src += Split('''
|
|
porting/nimble/src/nimble_port.c''')
|
|
|
|
# Few utils and data structures copied from Mynewt
|
|
src += Split('''
|
|
porting/nimble/src/endian.c
|
|
porting/nimble/src/mem.c
|
|
porting/nimble/src/os_mbuf.c
|
|
porting/nimble/src/os_mempool.c
|
|
porting/nimble/src/os_msys_init.c
|
|
porting/npl/rtthread/src/nimble_port_rtthread.c
|
|
porting/npl/rtthread/src/npl_os_rtthread.c
|
|
porting/npl/rtthread/src/npl_shell.c
|
|
''')
|
|
|
|
# tinycrypt
|
|
path += [cwd + '/ext/tinycrypt/include']
|
|
|
|
src += Split('''
|
|
ext/tinycrypt/src/aes_decrypt.c
|
|
ext/tinycrypt/src/aes_encrypt.c
|
|
ext/tinycrypt/src/cmac_mode.c
|
|
ext/tinycrypt/src/ecc.c
|
|
ext/tinycrypt/src/ecc_dh.c
|
|
ext/tinycrypt/src/utils.c
|
|
''')
|
|
|
|
# controller
|
|
if GetDepend(['LPKG_NIMBLE_CTLR']):
|
|
CPPDEFINES = ['NIMBLE_CFG_CONTROLLER=1']
|
|
else:
|
|
CPPDEFINES = []
|
|
|
|
if GetDepend(['LPKG_NIMBLE_CTLR']):
|
|
path += [cwd + '/nimble/controller/include']
|
|
|
|
|
|
if GetDepend(['LPKG_NIMBLE_BSP_NRF51']):
|
|
path += [cwd + '/nimble/drivers/nrf51/include']
|
|
src += Split("""
|
|
nimble/drivers/nrf51/src/ble_hw.c
|
|
nimble/drivers/nrf51/src/ble_phy.c
|
|
""")
|
|
else:
|
|
path += [cwd + '/nimble/drivers/nrf52/include']
|
|
src += Split("""
|
|
nimble/drivers/nrf52/src/ble_hw.c
|
|
nimble/drivers/nrf52/src/ble_phy.c
|
|
""")
|
|
|
|
src += Split("""
|
|
nimble/transport/src/transport.c
|
|
nimble/controller/src/ble_ll.c
|
|
nimble/controller/src/ble_ll_adv.c
|
|
nimble/controller/src/ble_ll_conn.c
|
|
nimble/controller/src/ble_ll_conn_hci.c
|
|
nimble/controller/src/ble_ll_crypto.c
|
|
nimble/controller/src/ble_ll_cs.c
|
|
nimble/controller/src/ble_ll_ctrl.c
|
|
nimble/controller/src/ble_ll_dtm.c
|
|
nimble/controller/src/ble_ll_hci.c
|
|
nimble/controller/src/ble_ll_hci_ev.c
|
|
nimble/controller/src/ble_ll_hci_supp_cmd.c
|
|
nimble/controller/src/ble_ll_hci_vs.c
|
|
nimble/controller/src/ble_ll_iso_big.c
|
|
nimble/controller/src/ble_ll_isoal.c
|
|
nimble/controller/src/ble_ll_pdu.c
|
|
nimble/controller/src/ble_ll_rand.c
|
|
nimble/controller/src/ble_ll_resolv.c
|
|
nimble/controller/src/ble_ll_rfmgmt.c
|
|
nimble/controller/src/ble_ll_scan.c
|
|
nimble/controller/src/ble_ll_scan_aux.c
|
|
nimble/controller/src/ble_ll_sched.c
|
|
nimble/controller/src/ble_ll_sync.c
|
|
nimble/controller/src/ble_ll_trace.c
|
|
nimble/controller/src/ble_ll_utils.c
|
|
nimble/controller/src/ble_ll_whitelist.c
|
|
porting/nimble/src/os_cputime.c
|
|
porting/nimble/src/os_cputime_pwr2.c
|
|
porting/nimble/src/hal_timer.c
|
|
porting/npl/rtthread/src/nrf5x_isr.c
|
|
""")
|
|
|
|
# blufi sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_BLUFI']):
|
|
src += Split("""
|
|
apps/blufi/src/blufi_prf.c
|
|
apps/blufi/src/blufi_protocol.c
|
|
apps/blufi/src/blufi_api.c
|
|
apps/blufi/src/blufi.c
|
|
apps/blufi/src/gatt_svr.c
|
|
""")
|
|
|
|
# selfie sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_SELFIE']):
|
|
src += Split("""
|
|
apps/selfie/src/selfie.c
|
|
apps/selfie/src/shutter_button.c
|
|
apps/selfie/src/gatt_svr.c
|
|
""")
|
|
|
|
# advertiser sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_ADVERTISER']):
|
|
src += Split("""
|
|
apps/advertiser/src/advertiser.c
|
|
""")
|
|
|
|
# central sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_CENTRAL']):
|
|
path += [cwd + '/apps/blecent/src']
|
|
|
|
src += Split("""
|
|
apps/blecent/src/blecent.c
|
|
apps/blecent/src/misc.c
|
|
apps/blecent/src/peer.c
|
|
""")
|
|
|
|
# blecsc sensor
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_BLECSC']):
|
|
path += [cwd + '/apps/blecsc/src']
|
|
|
|
src += Split("""
|
|
apps/blecsc/src/blecsc_sens.c
|
|
apps/blecsc/src/gatt_svr.c
|
|
""")
|
|
|
|
|
|
# peripheral heart-rate sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_PER_HR']):
|
|
path += [cwd + '/apps/blehr/src']
|
|
|
|
src += Split("""
|
|
apps/blehr/src/blehr.c
|
|
apps/blehr/src/gatt_svr.c
|
|
""")
|
|
|
|
# bleprph sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_PERIPHERAL']):
|
|
path += [cwd + '/apps/bleprph/src']
|
|
|
|
src += Split("""
|
|
apps/bleprph/src/bleprph.c
|
|
apps/bleprph/src/gatt_svr.c
|
|
apps/bleprph/src/phy.c
|
|
apps/bleprph/src/misc.c
|
|
""")
|
|
|
|
# btshell
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_BTSHELL']):
|
|
path += [cwd + '/apps/btshell/src']
|
|
|
|
src += Split("""
|
|
apps/btshell/src/btshell.c
|
|
apps/btshell/src/cmd_iso.c
|
|
apps/btshell/src/cmd_gatt.c
|
|
apps/btshell/src/cmd_l2cap.c
|
|
apps/btshell/src/cmd_leaudio.c
|
|
apps/btshell/src/cmd.c
|
|
apps/btshell/src/gatt_svr.c
|
|
apps/btshell/src/misc.c
|
|
apps/btshell/src/parse.c
|
|
""")
|
|
|
|
# ble external advertiser sample
|
|
if GetDepend(['LPKG_NIMBLE_SAMPLE_EXT_ADVERTISER']):
|
|
path += [cwd + '/apps/ext_advertiser/src']
|
|
|
|
src += Split("""
|
|
apps/ext_advertiser/src/ext_advertiser.c
|
|
""")
|
|
|
|
LOCAL_CCFLAGS = ''
|
|
|
|
if rtconfig.CROSS_TOOL == 'keil':
|
|
LOCAL_CCFLAGS += ' --gnu --diag_suppress=111'
|
|
|
|
group = DefineGroup('nimble', src, depend = ['LPKG_USING_NIMBLE'], CPPPATH = path, CPPDEFINES = CPPDEFINES, LOCAL_CCFLAGS = LOCAL_CCFLAGS)
|
|
|
|
Return('group')
|