MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / TargetMakefile

Function TargetMakefile

tools/targets/makefile.py:48–159  ·  view source on GitHub ↗
(env)

Source from the content-addressed store, hash-verified

46'''
47
48def TargetMakefile(env):
49 project = ProjectInfo(env)
50
51 BSP_ROOT = os.path.abspath(env['BSP_ROOT'])
52 RTT_ROOT = os.path.abspath(env['RTT_ROOT'])
53
54 match_bsp = False
55 if BSP_ROOT.startswith(RTT_ROOT):
56 match_bsp = True
57
58 make = open('config.mk', 'w')
59
60 make.write('BSP_ROOT ?= %s\n' % BSP_ROOT.replace('\\', '/'))
61 make.write('RTT_ROOT ?= %s\n' % RTT_ROOT.replace('\\', '/'))
62 make.write('\n')
63
64 cross = os.path.abspath(rtconfig.EXEC_PATH)
65 cross = os.path.join(cross, rtconfig.PREFIX)
66 make.write('CROSS_COMPILE ?=%s' % cross.replace('\\', '\\\\'))
67 make.write('\n')
68 make.write('\n')
69
70 make.write('CFLAGS :=%s' % (rtconfig.CFLAGS))
71 make.write('\n')
72 make.write('AFLAGS :=%s' % (rtconfig.AFLAGS))
73 make.write('\n')
74 make.write('LFLAGS :=%s' % (rtconfig.LFLAGS))
75 make.write('\n')
76 if 'CXXFLAGS' in dir(rtconfig):
77 make.write('CXXFLAGS :=%s' % (rtconfig.CXXFLAGS))
78 make.write('\n')
79 if ('LIBS' in env):
80 make.write('EXTERN_LIB := ')
81 for tlib in env['LIBS']:
82 make.write('-l%s ' % (tlib))
83 if ('LIBPATH' in env):
84 for tlibpath in env['LIBPATH']:
85 make.write('-L%s ' % (tlibpath))
86 make.write('\n')
87
88 make.write('\n')
89
90 Files = project['FILES']
91 Headers = project['HEADERS']
92 CPPDEFINES = project['CPPDEFINES']
93
94 paths = [os.path.normpath(i) for i in project['CPPPATH']]
95 CPPPATH = []
96 for path in paths:
97 fn = os.path.normpath(path)
98 if match_bsp:
99 if fn.startswith(BSP_ROOT):
100 fn = '$(BSP_ROOT)' + fn.replace(BSP_ROOT, '')
101 elif fn.startswith(RTT_ROOT):
102 fn = '$(RTT_ROOT)' + fn.replace(RTT_ROOT, '')
103 else:
104 if fn.startswith(RTT_ROOT):
105 fn = '$(RTT_ROOT)' + fn.replace(RTT_ROOT, '')

Callers 1

GenTargetProjectFunction · 0.90

Calls 4

ProjectInfoClass · 0.50
openFunction · 0.50
writeMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected