1import os
2
3# toolchains options
4
5ARCH='ppc'
6CPU='ppc405'
7CROSS_TOOL='gcc'
8TextBase = '0x00000000'
9
10PLATFORM = 'gcc'
11EXEC_PATH = 'C:/Program Files/CodeSourcery/Sourcery G++ Lite/bin'
12BUILD = 'debug'
13
14if os.getenv('RTT_EXEC_PATH'):
15	EXEC_PATH = os.getenv('RTT_EXEC_PATH')
16
17if PLATFORM == 'gcc':
18    # toolchains
19    PREFIX = 'powerpc-eabi-'
20    CC = PREFIX + 'gcc'
21    CXX = PREFIX + 'g++'
22    AS = PREFIX + 'gcc'
23    AR = PREFIX + 'ar'
24    LINK = PREFIX + 'gcc'
25    TARGET_EXT = 'elf'
26    SIZE = PREFIX + 'size'
27    OBJDUMP = PREFIX + 'objdump'
28    OBJCPY = PREFIX + 'objcopy'
29
30    DEVICE = ' -mcpu=405 -mno-multiple -mno-string -mno-update -fno-exceptions -fno-builtin -msoft-float'
31
32    CFLAGS = DEVICE + ' -D__KERNEL__'
33    AFLAGS = '-D__ASSEMBLY__ -fno-exceptions  -fno-builtin  -mregnames -c -Wall -Xassembler -m405 -msoft-float -ffunction-sections'
34    LFLAGS = DEVICE + ' -Wl,--gc-sections,--cref,-Map=rtthread.map -T taihu.lds' + ' -Ttext=' + TextBase
35
36    CPATH = ''
37    LPATH = ''
38
39    if BUILD == 'debug':
40        CFLAGS += ' -O0 -gdwarf-2'
41        AFLAGS += ' -gdwarf-2'
42    else:
43        CFLAGS += ' -O2'
44
45    DASM_ACTION = OBJDUMP + ' -d rtthread-taihu.elf > rtt.asm\n'
46    POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' # + DASM_ACTION
47