38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
# DepGen.py - produce a make dependencies file for Scintilla
|
|
# Copyright 2019 by Neil Hodgson <neilh@scintilla.org>
|
|
# The License.txt file describes the conditions under which this software may be distributed.
|
|
# Requires Python 3.6 or later
|
|
|
|
import sys
|
|
|
|
sys.path.append("..")
|
|
|
|
from scripts import Dependencies
|
|
|
|
topComment = "# Created by DepGen.py. To recreate, run DepGen.py.\n"
|
|
|
|
def Generate():
|
|
sources = ["../src/*.cxx", "../lexlib/*.cxx", "../lexers/*.cxx"]
|
|
includes = ["../include", "../src", "../lexlib"]
|
|
|
|
# Create the dependencies file for g++
|
|
deps = Dependencies.FindDependencies(["../win32/*.cxx"] + sources, ["../win32"] + includes, ".o", "../win32/")
|
|
|
|
# Add ScintillaBaseL as the same as ScintillaBase
|
|
deps = Dependencies.InsertSynonym(deps, "ScintillaBase.o", "ScintillaBaseL.o")
|
|
|
|
# Add CatalogueL as the same as Catalogue
|
|
deps = Dependencies.InsertSynonym(deps, "Catalogue.o", "CatalogueL.o")
|
|
|
|
Dependencies.UpdateDependencies("../win32/deps.mak", deps, topComment)
|
|
|
|
# Create the dependencies file for MSVC
|
|
|
|
# Place the objects in $(DIR_O) and change extension from ".o" to ".obj"
|
|
deps = [["$(DIR_O)/"+Dependencies.PathStem(obj)+".obj", headers] for obj, headers in deps]
|
|
|
|
Dependencies.UpdateDependencies("../win32/nmdeps.mak", deps, topComment)
|
|
|
|
if __name__ == "__main__":
|
|
Generate() |