Import('OS_ROOT')
Import('osconfig')
from build_tools import *

pwd = PresentDir()

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


if IsDefined(['OS_USING_PIN']):
    src += ['drv_gpio.c']
  
if IsDefined(['BSP_USING_LED']):
    src += ['drv_led.c']

if IsDefined(['BSP_USING_UART']):
    src += ['drv_uart.c']

if IsDefined(['OS_USING_HWTIMER']):
    src += ['drv_hwtimer.c']

if IsDefined(['OS_USING_PWM']):
    src += ['drv_pwm.c']

if IsDefined(['OS_USING_SPI']):
    src += ['drv_spi.c']

if IsDefined(['OS_USING_I2C', 'OS_USING_I2C_BITOPS']):
    if IsDefined('BSP_USING_I2C1') or IsDefined('BSP_USING_I2C2') or IsDefined('BSP_USING_I2C3') or IsDefined('BSP_USING_I2C4'):
        src += ['drv_soft_i2c.c']


if IsDefined(['OS_USING_ADC']):
    src += Glob('drv_adc.c')

if IsDefined(['OS_USING_PM', 'SOC_SERIES_STM32L4']):
    src += ['drv_pm.c']
    src += ['drv_lptim.c']

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

if IsDefined('BSP_USING_ONCHIP_RTC'):
    src += ['drv_rtc.c']
    
if IsDefined(['BSP_USING_ON_CHIP_FLASH']):
    src += ['drv_flash.c']
    
if IsDefined(['BSP_USING_WDT']):
    src += ['drv_wdt.c']

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


path =  [pwd]

group = AddCodeGroup('hal/drivers', src, depend = ['SOC_FAMILY_ATMEL'], CPPPATH = path)

Return('group')
