Import('env') Import('projects') Import('RTT_ROOT') Import('rtconfig') Import('TARGET') RTMLINKER = RTT_ROOT + '/tools/rtmlinker.exe ' # group definitions 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', RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include', RTT_ROOT + '/components/libc/newlib'] group['CPPDEFINES'] = '' target = 'calculator.so' POST_ACTION = RTMLINKER + ' -l ' + TARGET + ' -o calculator.mo ' + '$TARGET' # add group to project list projects.append(group) src_local = Split(""" ftk_app_calc.c """) env.Append(CCFLAGS = group['CCFLAGS']) env.Append(CPPPATH = group['CPPPATH']) env.Append(CPPDEFINES = group['CPPDEFINES']) module_env = env.Clone(CCFLAGS = ' -DRT_THREAD -mcpu=arm920t -O0 -fPIC') module_env.Replace(LINKFLAGS = '-z max-page-size=0x4 -shared -fPIC -e ftk_app_calc_create -nostdlib') module_env.Program(target, src_local) module_env.AddPostAction(target, POST_ACTION)