mirror of https://github.com/ARMmbed/mbed-os.git
makefile exporter: Escape double quote in toolchain flags.
Without this fix macro defined as -DFOO="BAR" won't be correctly interpreted by the compiler.pull/4366/head
parent
deaabf3123
commit
897667deaa
|
@ -111,7 +111,7 @@ class Makefile(Exporter):
|
||||||
for key in ['include_paths', 'library_paths', 'hex_files',
|
for key in ['include_paths', 'library_paths', 'hex_files',
|
||||||
'to_be_compiled']:
|
'to_be_compiled']:
|
||||||
ctx[key] = sorted(ctx[key])
|
ctx[key] = sorted(ctx[key])
|
||||||
ctx.update(self.flags)
|
ctx.update(self.format_flags())
|
||||||
|
|
||||||
for templatefile in \
|
for templatefile in \
|
||||||
['makefile/%s_%s.tmpl' % (self.TEMPLATE,
|
['makefile/%s_%s.tmpl' % (self.TEMPLATE,
|
||||||
|
@ -128,6 +128,17 @@ class Makefile(Exporter):
|
||||||
else:
|
else:
|
||||||
raise NotSupportedException("This make tool is in development")
|
raise NotSupportedException("This make tool is in development")
|
||||||
|
|
||||||
|
def format_flags(self):
|
||||||
|
"""Format toolchain flags for Makefile"""
|
||||||
|
flags = {}
|
||||||
|
for k, v in self.flags.iteritems():
|
||||||
|
if k in ['asm_flags', 'c_flags', 'cxx_flags']:
|
||||||
|
flags[k] = map(lambda x: x.replace('"', '\\"'), v)
|
||||||
|
else:
|
||||||
|
flags[k] = v
|
||||||
|
|
||||||
|
return flags
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def build(project_name, log_name="build_log.txt", cleanup=True):
|
def build(project_name, log_name="build_log.txt", cleanup=True):
|
||||||
""" Build Make project """
|
""" Build Make project """
|
||||||
|
|
Loading…
Reference in New Issue