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