diff options
Diffstat (limited to 'examples/module/ftk_demo/SConscript')
| -rw-r--r-- | examples/module/ftk_demo/SConscript | 50 |
1 files changed, 19 insertions, 31 deletions
diff --git a/examples/module/ftk_demo/SConscript b/examples/module/ftk_demo/SConscript index e192e33916..820f180e40 100644 --- a/examples/module/ftk_demo/SConscript +++ b/examples/module/ftk_demo/SConscript @@ -1,6 +1,5 @@ -import os - Import('env') +Import('projects') Import('RTT_ROOT') Import('rtconfig') Import('TARGET') @@ -8,42 +7,31 @@ Import('TARGET') RTMLINKER = RTT_ROOT + '/tools/rtmlinker.exe ' # group definitions -CPATH = [RTT_ROOT + '/include', +group = {} +group['CCFLAGS'] = '' +group['CPPPATH'] = [RTT_ROOT + '/include', RTT_ROOT + '/examples/module', - RTT_ROOT + '/components/external/ftk/ftk/apps/common', RTT_ROOT + '/components/external/ftk/ftk/src/os/rt-thread', + RTT_ROOT + '/components/external/ftk/ftk/src/demos', + RTT_ROOT + '/components/external/ftk/ftk/apps/common', RTT_ROOT + '/components/external/ftk/ftk/src', RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include', RTT_ROOT + '/components/libc/newlib'] +group['CPPDEFINES'] = '' -src = Glob('*.c') - -def GenerateDesktopApp(name): - xml = '<applications>\n<application name=\"%s\" exec=\"/ftk/apps/%s.so\" init=\"ftk_app_%s_create\" />\n</applications>\n' % (name, name, name) - - f = file(name + '.desktop', 'wb') - f.write(xml) - f.close - -def Demo(env, name): - if name == 'ftk_app_demo': - return +target = 'libftk_demos.so' +POST_ACTION = RTMLINKER + ' -l ' + TARGET + ' -o libftk_demos.mo ' + '$TARGET' - target = name + '.so' - module_env = env.Clone(CCFLAGS = ' -DRT_THREAD -DFTK_AS_PLUGIN -mcpu=arm920t -O0 -fPIC') - module_env.Append(CPPPATH = CPATH) - module_env.Replace(LINKFLAGS = ('-z max-page-size=0x4 -shared -fPIC -e ftk_app_%s_create -nostdlib' % name)) - module_env.Program(name + '.so', [name + '.c', 'ftk_app_demo.o']) - POST_ACTION = RTMLINKER + ' -l ' + TARGET + (' -o %s.mo ' % name) + ('ftk_demo/%s.so' % name) - module_env.AddPostAction(target, POST_ACTION) - module_env.Clean(target, name + '.desktop') - GenerateDesktopApp(name) +# add group to project list +projects.append(group) -demo_env = env.Clone(CCFLAGS = ' -DRT_THREAD -DFTK_AS_PLUGIN -mcpu=arm920t -O0 -fPIC') -demo_env.Append(CPPPATH = CPATH) -demo_env.Object('ftk_app_demo.c') +src_local = Glob('*.c') -for item in src: - item = item.rstr() - Demo(env, item.split('.c')[0]) +env.Append(CCFLAGS = group['CCFLAGS']) +env.Append(CPPPATH = group['CPPPATH']) +env.Append(CPPDEFINES = group['CPPDEFINES']) +module_env = env.Clone(CCFLAGS = ' -DRT_THREAD -DFTK_AS_PLUGIN -mcpu=arm920t -O0 -fPIC') +module_env.Replace(LINKFLAGS = '-z max-page-size=0x4 -shared -fPIC -e 0 -nostdlib -s') +module_env.Program(target, src_local) +module_env.AddPostAction(target, POST_ACTION) |
