SConscript 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import rtconfig
  2. from building import *
  3. # Import environment variables
  4. Import('env')
  5. # get current directory
  6. cwd = GetCurrentDir()
  7. # The set of source files associated with this SConscript file.
  8. src = Split('''
  9. GD/GD32F30x/Source/system_gd32f30x.c
  10. ''')
  11. path = [
  12. cwd + '/GD/GD32F30x/Include',
  13. cwd,]
  14. # Map microcontroller units (MCUs) to their corresponding startup files
  15. mcu_startup_files = {
  16. 'GD32F30X_XD': 'startup_gd32f30x_xd.s',
  17. 'GD32F30X_CL': 'startup_gd32f30x_cl.s',
  18. 'GD32F30X_HD': 'startup_gd32f30x_hd.s',
  19. }
  20. # Check each defined MCU, match the platform and append the appropriate startup file
  21. for mcu, startup_file in mcu_startup_files.items():
  22. if mcu in env.get('CPPDEFINES', []):
  23. if rtconfig.PLATFORM in ['gcc']:
  24. src += [os.path.join(cwd, 'GD', 'GD32F30x', 'Source', 'GCC', startup_file)]
  25. elif rtconfig.PLATFORM in ['armcc', 'armclang']:
  26. src += [os.path.join(cwd, 'GD', 'GD32F30x', 'Source', 'ARM', startup_file)]
  27. elif rtconfig.PLATFORM in ['iccarm']:
  28. src += [os.path.join(cwd, 'GD', 'GD32F30x', 'Source', 'IAR', startup_file)]
  29. break
  30. CPPDEFINES = ['USE_STDPERIPH_DRIVER']
  31. group = DefineGroup('Libraries', src, depend = ['SOC_SERIES_GD32F30x'], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  32. Return('group')