SConstruct 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import os
  2. import sys
  3. import rtconfig
  4. if os.getenv('RTT_ROOT'):
  5. RTT_ROOT = os.getenv('RTT_ROOT')
  6. else:
  7. RTT_ROOT = os.path.join('..', '..')
  8. sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
  9. from building import *
  10. TARGET = 'rtthread-x1000.' + rtconfig.TARGET_EXT
  11. DefaultEnvironment(tools=[])
  12. env = Environment(tools = ['mingw'],
  13. AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
  14. CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
  15. CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
  16. AR = rtconfig.AR, ARFLAGS = '-rc',
  17. LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
  18. env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
  19. # add --start-group and --end-group for GNU GCC
  20. env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS -Wl,--start-group $_LIBFLAGS -Wl,--end-group'
  21. Export('RTT_ROOT')
  22. Export('rtconfig')
  23. # prepare building environment
  24. objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=True)
  25. if GetDepend('RT_USING_HARD_FLOAT'):
  26. env['CCFLAGS'] = env['CCFLAGS'].replace('-msoft-float', '-mhard-float')
  27. env['ASFLAGS'] = env['ASFLAGS'].replace('-msoft-float', '-mhard-float')
  28. env['CXXFLAGS'] = env['CXXFLAGS'].replace('-msoft-float', '-mhard-float')
  29. env['LINKFLAGS'] = env['LINKFLAGS'].replace('-msoft-float', '-mhard-float')
  30. # make a building
  31. DoBuilding(TARGET, objs)