1import os
2from building import *
3
4objs = []
5cwd  = GetCurrentDir()
6
7# add general drivers
8src = []
9path =  [cwd]
10
11if GetDepend(['BSP_USING_ETH']):
12    src += Glob('phy_reset.c')
13
14if GetDepend(['BSP_USING_RS485']):
15    src += Glob('drv_rs485.c')
16
17if GetDepend(['BSP_USING_SOFT_SPI_FLASH']):
18    src += Glob('soft_spi_flash_init.c')
19
20if GetDepend(['BSP_USING_SPI_FLASH']):
21    src += Glob('spi_flash_init.c')
22
23if GetDepend(['BSP_USING_FS']):
24    src += Glob('drv_filesystem.c')
25
26if GetDepend(['BSP_USING_FAL']):
27    src += Glob('fal/fal_spi_flash_sfud_port.c')
28    path += [cwd + '/fal']
29
30if GetDepend(['BSP_USING_SRAM']):
31    src += Glob('drv_sram.c')
32
33if GetDepend(['BSP_USING_ONBOARD_LCD']):
34    src += Glob('lcd/drv_lcd.c')
35    path += [cwd + '/lcd']
36
37if GetDepend(['BSP_USING_ONBOARD_LED_MATRIX']):
38	src += Glob('led_matrix/drv_matrix_led.c')
39	path += [cwd + '/led_matrix']
40
41if GetDepend(['BSP_USING_EASYFLASH']):
42    src += Glob('ef_fal_port.c')
43
44if GetDepend(['BSP_USING_ENC28j60']):
45    src += Glob('drv_enc28j60.c')
46
47if GetDepend(['BSP_USING_ONBOARD_PM']):
48	src += Glob('pm/drv_pm.c')
49	src += Glob('pm/drv_wakeup.c')
50	path += [cwd + '/pm']
51
52if GetDepend(['BSP_USING_AUDIO']):
53    src += Glob('audio/drv_es8388.c')
54    src += Glob('audio/drv_sound.c')
55    path += [cwd + '/audio']
56
57if GetDepend(['BSP_USING_AUDIO_RECORD']):
58    src += Glob('audio/drv_mic.c')
59
60CPPDEFINES = ['STM32F407xx']
61group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
62
63list = os.listdir(cwd)
64for item in list:
65    if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
66        group = group + SConscript(os.path.join(item, 'SConscript'))
67
68Return('group')
69