SConstruct 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import os
  2. import rtconfig
  3. RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')
  4. target = 'rtthread-mini2440'
  5. # search path for C compiler
  6. bsp_path = RTT_ROOT + '/bsp/mini2440'
  7. env = Environment(tools = ['mingw'],
  8. AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
  9. CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
  10. AR = rtconfig.AR, ARFLAGS = '-rc',
  11. LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
  12. env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
  13. env.AppendUnique(CPPPATH = bsp_path)
  14. Export('env')
  15. Export('RTT_ROOT')
  16. Export('rtconfig')
  17. objs = SConscript(RTT_ROOT + '/src/SConscript', variant_dir='build/src', duplicate=0)
  18. objs = objs + SConscript(RTT_ROOT + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0)
  19. if rtconfig.RT_USING_MINILIBC:
  20. objs = objs + SConscript(RTT_ROOT + '/libc/minilibc/SConscript', variant_dir='build/minilibc', duplicate=0)
  21. if rtconfig.RT_USING_FINSH:
  22. objs = objs + SConscript(RTT_ROOT + '/finsh/SConscript', variant_dir='build/finsh', duplicate=0)
  23. if rtconfig.RT_USING_DFS:
  24. objs = objs + SConscript(RTT_ROOT + '/filesystem/dfs/SConscript', variant_dir='build/filesystem', duplicate=0)
  25. if rtconfig.RT_USING_LWIP:
  26. objs = objs + SConscript(RTT_ROOT + '/net/lwip/SConscript', variant_dir='build/net/lwip', duplicate=0)
  27. objs = objs + SConscript(RTT_ROOT + '/net/apps/SConscript', variant_dir='build/net/apps', duplicate=0)
  28. if rtconfig.RT_USING_WEBSERVER:
  29. objs = objs + SConscript(RTT_ROOT + '/net/webserver/SConscript', variant_dir='build/net/webserver', duplicate=0)
  30. if rtconfig.RT_USING_RTGUI:
  31. objs = objs + SConscript(RTT_ROOT + '/rtgui/SConscript', variant_dir='build/rtgui', duplicate=0)
  32. objs = objs + SConscript(RTT_ROOT + '/examples/gui/SConscript', variant_dir='build/examples/gui', duplicate=0)
  33. src_bsp = ['application.c', 'startup.c', 'board.c']
  34. src_drv = ['console.c', 'led.c']
  35. if rtconfig.RT_USING_DFS:
  36. src_drv += ['sdcard.c']
  37. if rtconfig.RT_USING_LWIP:
  38. src_drv += ['dm9000.c']
  39. if rtconfig.RT_USING_RTGUI:
  40. src_drv += ['touch.c', 'key.c']
  41. if rtconfig.RT_USING_RTGUI:
  42. if rtconfig.RT_USING_LCD_TYPE == 'PNL_A70':
  43. src_drv += ['lcd_a70.c']
  44. elif rtconfig.RT_USING_LCD_TYPE == 'PNL_N35':
  45. src_drv += ['lcd_n35.c']
  46. elif rtconfig.RT_USING_LCD_TYPE == 'PNL_T35':
  47. src_drv += ['lcd_t35.c']
  48. objs = objs + env.Object(src_bsp + src_drv)
  49. TARGET = target + '.' + rtconfig.TARGET_EXT
  50. env.Program(TARGET, objs)
  51. env.AddPostAction(TARGET, rtconfig.POST_ACTION)