2012-09-20 13:07:14 +08:00
|
|
|
Import('rtconfig')
|
|
|
|
from building import *
|
|
|
|
|
|
|
|
cwd = GetCurrentDir()
|
2014-01-01 23:14:45 +08:00
|
|
|
src = Split('''
|
|
|
|
shell.c
|
|
|
|
symbol.c
|
|
|
|
cmd.c
|
|
|
|
''')
|
|
|
|
|
|
|
|
fsh_src = Split('''
|
|
|
|
finsh_compiler.c
|
|
|
|
finsh_error.c
|
|
|
|
finsh_heap.c
|
|
|
|
finsh_init.c
|
|
|
|
finsh_node.c
|
|
|
|
finsh_ops.c
|
|
|
|
finsh_parser.c
|
|
|
|
finsh_var.c
|
|
|
|
finsh_vm.c
|
|
|
|
finsh_token.c
|
|
|
|
''')
|
|
|
|
|
|
|
|
msh_src = Split('''
|
|
|
|
msh_cmd.c
|
|
|
|
msh.c
|
|
|
|
''')
|
|
|
|
|
2012-09-20 13:07:14 +08:00
|
|
|
CPPPATH = [cwd]
|
|
|
|
if rtconfig.CROSS_TOOL == 'keil':
|
2015-04-14 18:22:46 +08:00
|
|
|
LINKFLAGS = ' --keep *.o(FSymTab)'
|
2014-01-01 23:14:45 +08:00
|
|
|
|
|
|
|
if not GetDepend('FINSH_USING_MSH_ONLY'):
|
2015-04-14 18:22:46 +08:00
|
|
|
LINKFLAGS = LINKFLAGS + ' --keep *.o(VSymTab) '
|
2012-09-20 13:07:14 +08:00
|
|
|
else:
|
|
|
|
LINKFLAGS = ''
|
|
|
|
|
2014-01-05 14:57:58 +08:00
|
|
|
if GetDepend('FINSH_USING_MSH'):
|
|
|
|
src = src + msh_src
|
2014-01-01 23:14:45 +08:00
|
|
|
if not GetDepend('FINSH_USING_MSH_ONLY'):
|
|
|
|
src = src + fsh_src
|
|
|
|
|
2012-09-20 13:07:14 +08:00
|
|
|
group = DefineGroup('finsh', src, depend = ['RT_USING_FINSH'], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS)
|
|
|
|
|
|
|
|
Return('group')
|