# 引入OS模块用于环境变量与路径操作
import os

# 导入构建系统提供的全部辅助函数与变量
from building import *

# 获取 SConscript 文件所在的目录路径
cwd = GetCurrentDir()

# 初始化一个空列表，用于收集所有编译目标
objs = []

# 遍历当前目录下的所有文件和子目录
list = os.listdir(cwd)

# 遍历当前目录下的所有文件和子目录
for d in list:
    path = os.path.join(cwd, d)
    if os.path.isfile(os.path.join(path, 'SConscript')):
        objs = objs + SConscript(os.path.join(d, 'SConscript'))

# 添加源码目录的构建脚本
objs.extend(SConscript(os.path.join(cwd,  '../../src/hcpu/SConscript'), variant_dir="main", duplicate=0))
objs.extend(SConscript(os.path.join(cwd,  '../../src/drv_btn/SConscript'), variant_dir="drv_btn", duplicate=0))
objs.extend(SConscript(os.path.join(cwd,  '../../src/battery_manager/SConscript'), variant_dir="battery_manager", duplicate=0))



# 添加 SDK 的构建脚本
Import('SIFLI_SDK')

# 执行 SDK 目录下的 SConscript，指定 variant_dir 为 sifli_sdk，不复制源文件到构建目录
objs.extend(SConscript(os.path.join(SIFLI_SDK, 'SConscript'), variant_dir="sifli_sdk", duplicate=0))

# 将收集到的所有编译目标返回给上层 SConstruct，供最终链接使用
Return('objs')

