瀏覽代碼

update ftk demo

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1228 bbd45198-f89e-11dd-88c7-29a3b14d5316
qiuyiuestc 14 年之前
父節點
當前提交
b050da1c2a
共有 3 個文件被更改,包括 22 次插入34 次删除
  1. 19 31
      examples/module/ftk_demo/SConscript
  2. 1 1
      examples/module/ftk_demo/demo_listview.c
  3. 2 2
      examples/module/ftk_demo/demo_sprite.c

+ 19 - 31
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) 

+ 1 - 1
examples/module/ftk_demo/demo_listview.c

@@ -37,7 +37,7 @@ static Ret button_more_clicked(void* ctx, void* obj)
 	return RET_OK;
 }
 
-Ret on_item_clicked(void* ctx, void* list)
+static Ret on_item_clicked(void* ctx, void* list)
 {
 	FtkListItemInfo* info = NULL;
 	FtkListModel* model = ftk_list_view_get_model(list);

+ 2 - 2
examples/module/ftk_demo/demo_sprite.c

@@ -6,14 +6,14 @@ static Ret button_quit_clicked(void* ctx, void* obj)
 	return RET_OK;
 }
 
-Ret on_move(void* ctx, void* obj)
+static Ret on_move(void* ctx, void* obj)
 {
 	ftk_logd("%s: %d %d\n", __func__, ftk_sprite_get_x(obj), ftk_sprite_get_y(obj));
 
 	return RET_OK;
 }
 
-Ret move_cursor(void* ctx, void* obj)
+static Ret move_cursor(void* ctx, void* obj)
 {
 	FtkEvent* event = obj;