integration/builder: escape backslash in makefile defines

This commit is contained in:
Sebastien Bourdeauducq 2015-10-14 21:45:36 +08:00
parent 93a615ade4
commit 884faedc00
1 changed files with 5 additions and 1 deletions

View File

@ -23,6 +23,10 @@ misoc_software_packages = [
misoc_directory = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) misoc_directory = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
def _makefile_escape(s):
return s.replace("\\", "\\\\")
class Builder: class Builder:
def __init__(self, soc, output_dir=None, def __init__(self, soc, output_dir=None,
compile_software=True, compile_gateware=True, compile_software=True, compile_gateware=True,
@ -63,7 +67,7 @@ class Builder:
os.makedirs(generated_dir, exist_ok=True) os.makedirs(generated_dir, exist_ok=True)
with open(os.path.join(generated_dir, "variables.mak"), "w") as f: with open(os.path.join(generated_dir, "variables.mak"), "w") as f:
def define(k, v): def define(k, v):
f.write("{}={}\n".format(k, v)) f.write("{}={}\n".format(k, _makefile_escape(v)))
for k, v in cpu_interface.get_cpu_mak(cpu_type): for k, v in cpu_interface.get_cpu_mak(cpu_type):
define(k, v) define(k, v)
define("MISOC_DIRECTORY", misoc_directory) define("MISOC_DIRECTORY", misoc_directory)