1Import('RTT_ROOT') 2Import('rtconfig') 3from building import * 4 5src = Glob('*.c') 6 7CPPPATH = [RTT_ROOT + '/include'] 8if rtconfig.CROSS_TOOL == 'keil': 9 # add more link flags for module and components_init. 10 LINKFLAGS = '' 11 if GetDepend('RT_USING_MODULE'): 12 LINKFLAGS += ' --keep *.o(RTMSymTab) ' 13 if GetDepend('RT_USING_COMPONENTS_INIT'): 14 LINKFLAGS += ' --keep *.o(.rti_fn.*) ' 15else: 16 LINKFLAGS = '' 17 18if GetDepend('RT_USING_COMPONENTS_INIT') == False: 19 SrcRemove(src, ['components.c']) 20 21if GetDepend('RT_USING_MODULE') == False: 22 SrcRemove(src, ['module.c']) 23 24if GetDepend('RT_USING_HEAP') == False or GetDepend('RT_USING_SMALL_MEM') == False: 25 SrcRemove(src, ['mem.c']) 26 27if GetDepend('RT_USING_HEAP') == False or GetDepend('RT_USING_SLAB') == False: 28 SrcRemove(src, ['slab.c']) 29 30if GetDepend('RT_USING_MEMPOOL') == False: 31 SrcRemove(src, ['mempool.c']) 32 33if GetDepend('RT_USING_MEMHEAP') == False: 34 SrcRemove(src, ['memheap.c']) 35 if GetDepend('RT_USING_MEMHEAP_AS_HEAP'): 36 SrcRemove(src, ['mem.c']) 37 38if GetDepend('RT_USING_DEVICE') == False: 39 SrcRemove(src, ['device.c']) 40 41group = DefineGroup('Kernel', src, depend = [''], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS) 42 43Return('group') 44