SConstruct 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. env = Environment(tools = ['mingw'],
  12. AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
  13. CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
  14. CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
  15. AR = rtconfig.AR, ARFLAGS = '-rc',
  16. LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
  17. env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
  18. # add --start-group and --end-group for GNU GCC
  19. env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS -Wl,--start-group $_LIBFLAGS -Wl,--end-group'
  20. Export('RTT_ROOT')
  21. Export('rtconfig')
  22. # prepare building environment
  23. objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
  24. if GetDepend('RT_USING_HARD_FLOAT'):
  25. env['CCFLAGS'] = env['CCFLAGS'].replace('-msoft-float', '-mhard-float')
  26. env['ASFLAGS'] = env['ASFLAGS'].replace('-msoft-float', '-mhard-float')
  27. env['CXXFLAGS'] = env['CXXFLAGS'].replace('-msoft-float', '-mhard-float')
  28. env['LINKFLAGS'] = env['LINKFLAGS'].replace('-msoft-float', '-mhard-float')
  29. # make a building
  30. DoBuilding(TARGET, objs)