1import os
2import sys
3import rtconfig
4import re
5
6if os.getenv('RTT_ROOT'):
7    RTT_ROOT = os.getenv('RTT_ROOT')
8else:
9    RTT_ROOT = os.path.join(os.getcwd(), '..', '..')
10
11
12sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
13from building import *
14
15TARGET = 'rtthread.' + rtconfig.TARGET_EXT
16TRACE_CONFIG = ""
17
18content = ""
19with open("rtconfig.h") as f:
20    for line in f.readlines():
21        if line.find("RT_BACKTRACE_FUNCTION_NAME") != -1:
22            for token in line.split(" "):
23                if re.match(r'RT_BACKTRACE_FUNCTION_NAME$', token, flags=0):
24                    TRACE_CONFIG = " "
25
26DefaultEnvironment(tools=[])
27env = Environment(tools = ['mingw'],
28    AS   = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS + TRACE_CONFIG,
29    CC   = rtconfig.CC, CFLAGS = rtconfig.CFLAGS + TRACE_CONFIG,
30    CXX  = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS  + TRACE_CONFIG,
31    AR   = rtconfig.AR, ARFLAGS = '-rc',
32    LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
33env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
34env['ASCOM'] = env['ASPPCOM']
35env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS -Wl,--start-group $_LIBFLAGS -Wl,--end-group'
36
37Export('RTT_ROOT')
38Export('rtconfig')
39
40# prepare building environment
41objs = PrepareBuilding(env, RTT_ROOT)
42
43# make a building
44DoBuilding(TARGET, objs)
45