import os import sys import rtconfig from building import * def get_source(ic_model, file_path, system_path, base_path): source_path = [] files_list = [] readafter = 0 if not os.path.isfile(file_path): return with open(file_path, 'r') as file: # content = file.read() for line in file: if readafter == 2 and line.find('>') != -1: break if readafter == 2: files_list.append(line.strip()) if line.find(ic_model) != -1: readafter = 1 if readafter == 1 and line.find('<') != -1: readafter = 2 for line in files_list: if line.find('system') != -1: source_path.append(os.path.join(system_path, line.strip())) else: source_path.append(os.path.join(base_path, line.strip())) return source_path Import('rtconfig') tools_path = os.path.normpath(os.getcwd() + '../../..' + '/tools') sys.path.append(tools_path) source_file_path = os.path.join(os.getcwd(), 'Source_file') base_path = 'library/HT32F5xxxx_Driver/src/' system_path = 'library/Device/Holtek/HT32F5xxxx/Source/' source_path = [] ic_list = [ 'HT32F0006', 'HT32F0008', 'HT32F52367', 'HT50F3200S', 'HT50F3200T', 'HF5032', 'HT32F5828', 'HT50F32002', 'HT50F32003', 'HT32F50030', 'HT32F50230', 'HT32F50241', 'HT32F50343', 'HT32F50441', 'HT32F50452', 'HT32F52142', 'HT32F52230', 'HT32F52241', 'HT32F52244', 'HT32F52253', 'HT32F52341', 'HT32F52352', 'HT32F52354', 'HT32F52367', 'HT32F53241', 'HT32F53252', 'HT32F54241', 'HT32F54253', 'HT32F57341', 'HT32F57352', 'HT32F59041', 'HT32F59741', 'HT32F61141', 'HT32F61245', 'HT32F61352', 'HT32F61355', 'HT32F61356', 'HT32F61357', 'HT32F61630', 'HT32F61641', 'HT32F65232', 'HT32F65240', 'HT32F67051', 'HT32F67232', 'HT32F67233', 'HT32F67741' ] cwd = GetCurrentDir() src = [] for ic_name in ic_list: if GetDepend(['SOC_' + ic_name]): source_path = get_source(ic_name,source_file_path,system_path,base_path) src = Split(source_path) path = [ cwd + '/library/HT32F5xxxx_Driver/inc', cwd + '/library/CMSIS/Include', cwd + '/library/Device/Holtek/HT32F5xxxx/Include' ] CPPDEFINES = ['USE_HT32_DRIVER'] group = DefineGroup('Libraries', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) Return('group')