summaryrefslogtreecommitdiff
path: root/examples/module/ftk_demo/SConscript
diff options
context:
space:
mode:
authorbernard.xiong <[email protected]>2010-12-15 11:03:26 +0000
committerbernard.xiong <[email protected]>2010-12-15 11:03:26 +0000
commit89ac28b9bb9fa176243e6060479f790d4b2c3cba (patch)
treee5bf04e78189f2fefe83f54b056fc440b87c784b /examples/module/ftk_demo/SConscript
parent3569b27c325c9eb61dd4b27ccf91e0c4a38a5e72 (diff)
add building script for ftk module demo.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1205 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'examples/module/ftk_demo/SConscript')
-rw-r--r--examples/module/ftk_demo/SConscript49
1 files changed, 49 insertions, 0 deletions
diff --git a/examples/module/ftk_demo/SConscript b/examples/module/ftk_demo/SConscript
new file mode 100644
index 0000000000..e192e33916
--- /dev/null
+++ b/examples/module/ftk_demo/SConscript
@@ -0,0 +1,49 @@
+import os
+
+Import('env')
+Import('RTT_ROOT')
+Import('rtconfig')
+Import('TARGET')
+
+RTMLINKER = RTT_ROOT + '/tools/rtmlinker.exe '
+
+# group definitions
+CPATH = [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',
+ RTT_ROOT + '/components/dfs',
+ RTT_ROOT + '/components/dfs/include',
+ RTT_ROOT + '/components/libc/newlib']
+
+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 = 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)
+
+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')
+
+for item in src:
+ item = item.rstr()
+ Demo(env, item.split('.c')[0])