from building import *

src = []
cwd = []
CPPDEFINES = []

cwd = GetCurrentDir()

if GetDepend('BSP_USING_GPIO'):
    src += ['drv_gpio.c']

if  GetDepend('BSP_USING_LPUART'):
    src += ['drv_uart.c']

if  GetDepend('BSP_USING_HWTIMER'):
    src += ['drv_hwtimer.c']

if GetDepend('BSP_USING_RTC'):
    src += ['drv_rtc.c']

if  GetDepend('BSP_USING_SPI'):
    src += ['drv_spi.c']

if  GetDepend('BSP_USING_I2C'):
    src += ['drv_i2c.c']

if GetDepend('BSP_USING_WDT'):
    src += ['drv_wdt.c']

if GetDepend('BSP_USING_PWM'):
    src += ['drv_pwm.c']

if GetDepend('BSP_USING_ADC'):
    src += ['drv_adc.c']

if GetDepend('BSP_USING_LPADC'):
    src += ['drv_lpadc.c']

if GetDepend('BSP_USING_CAN'):
    src += ['drv_can.c']

if GetDepend('BSP_USING_SDRAM'):
    src += ['drv_sdram.c']

if GetDepend('BSP_USING_LCD'):
    src += ['drv_lcd.c']

if GetDepend('BSP_USING_ETH'):
    src += ['drv_eth.c']

if GetDepend('BSP_USING_PHY'):
    src += ['drv_mdio.c']
    if GetDepend('PHY_USING_KSZ8081'):
        src += ['drv_ksz8081.c']
    if GetDepend('PHY_USING_RTL8211F'):
        src += ['drv_rtl8211f.c']

if GetDepend('BSP_USING_AUDIO'):
    src += ['drv_sai.c']
    src += ['bsp_wm8960.c']

if GetDepend('BSP_USING_SDIO'):
    src += ['drv_sdio.c']

if GetDepend('BSP_USING_USB_DEVICE'):
    src += ['drv_usbd.c']
    src += Glob('usb/device/*.c')

if GetDepend('BSP_USING_USB_DEVICE') or GetDepend('RT_USING_USB_HOST'):
    src += Glob('usb/phy/*.c')
    CPPDEFINES += ['ENDIANNESS','USE_RTOS']

if GetDepend('RT_USING_USB_HOST'):
    src += ['drv_usbh.c']
    src += Glob('usb/host/*.c')

if GetDepend('BSP_USING_PULSE_ENCODER'):
    src += ['drv_pulse_encoder.c']

if GetDepend('BSP_USING_FLEXSPI'):
    src += ['drv_flexspi.c']

src += ['drv_common.c']
path =  [cwd]

group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES=CPPDEFINES)

Return('group')