diff --git a/bsp/mini2440/SConscript b/bsp/mini2440/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..acbc699cb76e15d369cd8cd23088d1f58a240a49 --- /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 4df4482af01c89d7040fa066b76e140bd9fb9531..1a98304f12f82d48507a8d191c5c21805b85faf8 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)