# RT-Thread building script for component
Import('RTT_ROOT')
Import('rtconfig')
from building import *

cwd = GetCurrentDir()

# add the general drivers.
src = Split("""
drv_common.c
""")

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

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

if GetDepend(['RT_USING_SERIAL']):
    if GetDepend(['RT_USING_SERIAL_V2']):
        src += ['drv_usart_v2.c']
    else:
        src += ['drv_usart.c']

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

if GetDepend(['BSP_USING_CLOCK_TIMER']):
    src += ['drv_timer.c']

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

if GetDepend(['BSP_USING_QSPI']):
    src += ['drv_qspi.c']

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

if GetDepend(['BSP_USING_EMAC', 'RT_USING_LWIP']):
    src += ['drv_emac.c']

if GetDepend(['BSP_USING_HARD_I2C']):
    src += Glob('drv_hard_i2c.c')

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

if GetDepend(['BSP_USING_DAC']):
    src += Glob('drv_dac.c')

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

if GetDepend('BSP_USING_ON_CHIP_FLASH'):
    src += ['drv_flash.c']

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

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

if GetDepend(['BSP_USING_CAN_V2']):
    src += ['drv_can_v2.c']

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

if GetDepend(['BSP_USING_USBD']):
    src += ['drv_usbd.c']

if GetDepend(['BSP_USING_DEVICE_USBOTG1']) or GetDepend(['BSP_USING_DEVICE_USBOTG2']):
    src += ['drv_usbotgd.c']

if GetDepend(['BSP_USING_HOST_USBOTG1']) or GetDepend(['BSP_USING_HOST_USBOTG2']):
    src += ['drv_usbotgh.c']

path =  [cwd]
path += [cwd + '/config']

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

Return('group')
