summaryrefslogtreecommitdiff
path: root/src/SConscript
blob: bb38baa6bdbe92717145ccb8fdf53082507438c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Import('RTT_ROOT')
Import('rtconfig')
from building import *

src = Glob('*.c')

CPPPATH = [RTT_ROOT + '/include']
if rtconfig.CROSS_TOOL == 'keil':
    # add more link flags for module and components_init.
    LINKFLAGS = ''
    if GetDepend('RT_USING_MODULE'):
        LINKFLAGS += ' --keep *.o(RTMSymTab) '
    if GetDepend('RT_USING_COMPONENTS_INIT'):
        LINKFLAGS += ' --keep *.o(.rti_fn.*) '
else:
    LINKFLAGS = ''

if GetDepend('RT_USING_COMPONENTS_INIT') == False:
    SrcRemove(src, ['components.c'])

if GetDepend('RT_USING_MODULE') == False:
    SrcRemove(src, ['module.c'])

if GetDepend('RT_USING_HEAP') == False or GetDepend('RT_USING_SMALL_MEM') == False:
    SrcRemove(src, ['mem.c'])

if GetDepend('RT_USING_HEAP') == False or GetDepend('RT_USING_SLAB') == False:
    SrcRemove(src, ['slab.c'])

if GetDepend('RT_USING_MEMPOOL') == False:
    SrcRemove(src, ['mempool.c'])

if GetDepend('RT_USING_MEMHEAP') == False:
    SrcRemove(src, ['memheap.c'])
    if GetDepend('RT_USING_MEMHEAP_AS_HEAP'):
        SrcRemove(src, ['mem.c'])

if GetDepend('RT_USING_DEVICE') == False:
    SrcRemove(src, ['device.c'])

group = DefineGroup('Kernel', src, depend = [''], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS)

Return('group')