summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/mini2440/SConscript46
-rw-r--r--bsp/mini2440/SConstruct65
2 files changed, 67 insertions, 44 deletions
diff --git a/bsp/mini2440/SConscript b/bsp/mini2440/SConscript
new file mode 100644
index 0000000000..acbc699cb7
--- /dev/null
+++ b/bsp/mini2440/SConscript
@@ -0,0 +1,46 @@
+Import('env')
+Import('projects')
+Import('RTT_ROOT')
+Import('rtconfig')
+
+# group definitions
+group = {}
+group['name'] = 'Startup'
+group['CCFLAGS'] = ''
+group['CPPPATH'] = [RTT_ROOT + '/bsp/mini2440']
+group['CPPDEFINES'] = []
+group['LINKFLAGS'] = ''
+
+src_bsp = ['application.c', 'startup.c', 'board.c', 'rtc_calendar.c', 'info.c', 'today.c', 'picture.c', 'osc.c', 'device_info.c', 'run_module.c']
+src_drv = ['console.c', 'led.c']
+
+if rtconfig.RT_USING_DFS:
+ src_drv += ['sdcard.c']
+
+if rtconfig.RT_USING_LWIP:
+ src_drv += ['dm9000.c']
+
+if rtconfig.RT_USING_RTGUI:
+ src_drv += ['touch.c', 'key.c']
+
+if rtconfig.RT_USING_RTGUI:
+ if rtconfig.RT_USING_LCD_TYPE == 'PNL_A70':
+ src_drv += ['lcd_a70.c']
+ elif rtconfig.RT_USING_LCD_TYPE == 'PNL_N35':
+ src_drv += ['lcd_n35.c']
+ elif rtconfig.RT_USING_LCD_TYPE == 'PNL_T35':
+ src_drv += ['lcd_t35.c']
+
+group['src'] = File(src_bsp + src_drv)
+
+# add group to project list
+projects.append(group)
+
+env.Append(CCFLAGS = group['CCFLAGS'])
+env.Append(CPPPATH = group['CPPPATH'])
+env.Append(CPPDEFINES = group['CPPDEFINES'])
+env.Append(LINKFLAGS = group['LINKFLAGS'])
+
+obj = env.Object(group['src'])
+
+Return('obj')
diff --git a/bsp/mini2440/SConstruct b/bsp/mini2440/SConstruct
index 4df4482af0..1a98304f12 100644
--- a/bsp/mini2440/SConstruct
+++ b/bsp/mini2440/SConstruct
@@ -1,11 +1,21 @@
import os
+import sys
import rtconfig
RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+import mdk
+
target = 'rtthread-mini2440'
+projects = []
+
+AddOption('--target',
+ dest='target',
+ type='string',
+ help='set target project: mdk')
-# search path for C compiler
-bsp_path = RTT_ROOT + '/bsp/mini2440'
+if GetOption('target'):
+ SetOption('no_exec', 1)
env = Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
@@ -13,64 +23,31 @@ env = Environment(tools = ['mingw'],
AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
-env.AppendUnique(CPPPATH = bsp_path)
Export('env')
Export('RTT_ROOT')
Export('rtconfig')
+Export('projects')
objs = SConscript(RTT_ROOT + '/src/SConscript', variant_dir='build/src', duplicate=0)
objs = objs + SConscript(RTT_ROOT + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0)
-if rtconfig.RT_USING_MINILIBC:
- objs = objs + SConscript(RTT_ROOT + '/libc/minilibc/SConscript', variant_dir='build/minilibc', duplicate=0)
-
-if rtconfig.RT_USING_FINSH:
- objs = objs + SConscript(RTT_ROOT + '/finsh/SConscript', variant_dir='build/finsh', duplicate=0)
-
-if rtconfig.RT_USING_DFS:
- objs = objs + SConscript(RTT_ROOT + '/filesystem/dfs/SConscript', variant_dir='build/filesystem', duplicate=0)
-
-if rtconfig.RT_USING_LWIP:
- objs = objs + SConscript(RTT_ROOT + '/net/lwip/SConscript', variant_dir='build/net/lwip', duplicate=0)
- objs = objs + SConscript(RTT_ROOT + '/net/apps/SConscript', variant_dir='build/net/apps', duplicate=0)
-
if rtconfig.RT_USING_WEBSERVER:
- objs = objs + SConscript(RTT_ROOT + '/net/webserver/SConscript', variant_dir='build/net/webserver', duplicate=0)
+ objs = objs + SConscript(RTT_ROOT + '/components/net/webserver/SConscript', variant_dir='build/net/webserver', duplicate=0)
if rtconfig.RT_USING_RTGUI:
- objs = objs + SConscript(RTT_ROOT + '/rtgui/SConscript', variant_dir='build/rtgui', duplicate=0)
objs = objs + SConscript(RTT_ROOT + '/examples/gui/SConscript', variant_dir='build/examples/gui', duplicate=0)
-if rtconfig.RT_USING_MODBUS:
- objs = objs + SConscript(RTT_ROOT + '/net/freemodbus/SConscript', variant_dir='build/net/freemodbus', duplicate=0)
-
-src_bsp = ['application.c', 'startup.c', 'board.c', 'rtc_calendar.c', 'info.c', 'today.c', 'picture.c', 'osc.c', 'device_info.c', 'run_module.c']
-src_drv = ['console.c', 'led.c']
-
-if rtconfig.RT_USING_DFS:
- src_drv += ['sdcard.c']
-
-if rtconfig.RT_USING_LWIP:
- src_drv += ['dm9000.c']
-
-if rtconfig.RT_USING_RTGUI:
- src_drv += ['touch.c', 'key.c']
-
-if rtconfig.RT_USING_RTGUI:
- if rtconfig.RT_USING_LCD_TYPE == 'PNL_A70':
- src_drv += ['lcd_a70.c']
- elif rtconfig.RT_USING_LCD_TYPE == 'PNL_N35':
- src_drv += ['lcd_n35.c']
- elif rtconfig.RT_USING_LCD_TYPE == 'PNL_T35':
- src_drv += ['lcd_t35.c']
+# board build script
+objs = objs + SConscript('SConscript', variant_dir='build/bsp', duplicate=0)
-objs = objs + env.Object(src_bsp + src_drv)
+# component script
+Repository(RTT_ROOT)
+objs = objs + SConscript('components/SConscript')
TARGET = target + '.' + rtconfig.TARGET_EXT
env.Program(TARGET, objs)
env.AddPostAction(TARGET, rtconfig.POST_ACTION)
-if rtconfig.CROSS_TOOL == 'gcc':
- Repository('../../components')
- SConscript('SConscript')
+if GetOption('target') == 'mdk':
+ mdk.MDKProject('project_2.uV2', projects)