mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 14:15:30 +00:00
4479cef096
--HG-- rename : dom/imptests/writeMakefile.py => dom/imptests/writeBuildFiles.py
64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
import string
|
|
|
|
makefile_template = """# THIS FILE IS AUTOGENERATED BY ${caller} - DO NOT EDIT
|
|
|
|
DEPTH := @DEPTH@
|
|
|
|
topsrcdir := @top_srcdir@
|
|
srcdir := @srcdir@
|
|
VPATH := @srcdir@
|
|
relativesrcdir := @relativesrcdir@
|
|
|
|
include $$(DEPTH)/config/autoconf.mk
|
|
|
|
${files}
|
|
|
|
include $$(topsrcdir)/config/rules.mk
|
|
"""
|
|
|
|
mozbuild_template = """# THIS FILE IS AUTOGENERATED BY ${caller} - DO NOT EDIT
|
|
|
|
${dirs}
|
|
"""
|
|
|
|
|
|
|
|
def makefileString(entries):
|
|
if not len(entries):
|
|
return " $(NULL)"
|
|
return "\n".join([" %s \\" % (entry, ) for entry in entries]) + "\n $(NULL)"
|
|
|
|
|
|
def assignList(variable, entries):
|
|
return "%s := \\\n%s" % (variable, makefileString(entries))
|
|
|
|
|
|
def mozbuildDirs(dirs):
|
|
"""Obtain a DIRS assignment string for mozbuild files."""
|
|
parts = ['DIRS += [']
|
|
for d in dirs:
|
|
parts.append(" '%s'," % d)
|
|
parts.append(']')
|
|
|
|
return '\n'.join(parts)
|
|
|
|
def substMakefile(caller, files):
|
|
return string.Template(makefile_template).substitute({
|
|
"caller": caller,
|
|
"files": assignList("MOCHITEST_FILES", files) if files else ""
|
|
})
|
|
|
|
|
|
def substMozbuild(caller, dirs):
|
|
return string.Template(mozbuild_template).substitute({
|
|
"caller": caller,
|
|
"dirs": mozbuildDirs(dirs),
|
|
})
|
|
|