dom/imptests/writeMakefile.py
author Lucas Rocha <lucasr@mozilla.com>
Mon, 12 Nov 2012 15:58:40 +0000
changeset 112995 edc00669b8e13aada1969ab0d37ff26246bb1b43
parent 112242 20965bd69e280f3b25e3b9a501744324b9f6370a
child 122578 bdf128d09ed6e57f8f2941fcc343c7b08634b958
permissions -rw-r--r--
Bug 808296 - Update top sites thumbnails from adapter, not from gridview (r=mfinkle)

# 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

makefileTemplate = """# 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

${dirs}

${files}

include $$(topsrcdir)/config/rules.mk
"""

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 substMakefile(caller, subdirs, files):
  return string.Template(makefileTemplate).substitute({
    "caller": caller,
    "dirs": assignList("DIRS", subdirs),
    "files": assignList("MOCHITEST_FILES", files) if files else ""
  })