Archivieren

Posts Tagged 'Makefile'

Konvertieren von Visual Studio Lösungen für Makefiles

Ein Python-Skript zu Microsoft Visual Studio 2005-Lösung Dateien (*. SLN) und die damit verbundenen Projekt-Dateien (*. Vcproj) in eine Reihe von Makefiles zu konvertieren.

Die Klasse Sln2Make die ganze Arbeit, analysiert die SLN-und VCPROJ-Dateien und erzeugt eine Haupt-Makefile und ein Makefile.ag für jedes Projekt in der Lösung. Die Makefiles.ag generiert werden zwei Ziele, "alle" und "saubere" haben, das Skript enthält auch die abhängigen Bibliotheken, wenn sie richtig in der Lösung definiert. Um es zu benutzen, nur die Klasse instanziieren mit den folgenden Parametern:

Sln2Make(slnpath, exlist, dirrepl, librepl)

wo:

  • slnpath ist der Pfad zu der Datei Lösung
  • exlist eine optionale Liste von Dateien, um auszuschließen, optional können Sie den Inhalt einer Alternative machen Datei mit dieser Syntax übergeben: [[dest, make_all_replacement, make_clean_replacement], ...]
  • dirrepl eine Liste von Verzeichnis Ersetzungsregeln
  • librepl Name der Bibliothek Ersatz Regeln (wenn zu gewinnen Bibliothek Name nicht mit OS Name der Bibliothek)

Beispiel:

exlist = [('../extsrc/zlib/projects/visualc6/Makefile.ag',
'	$(MAKE) -C $(dir_root)extsrc/zlib -f Makefile libz.a\n',
'	$(MAKE) -C $(dir_root)extsrc/zlib -f Makefile clean\n')]
dirrepl = [['winnt', 'linux']]
librepl = [['zlib', 'z'], ['nspr', 'nspr4 -lplc4 -lplds4']]
#
Sln2Make("../winnt/test.sln", exlist, dirrepl, librepl)

Um den Pfad zu Fall zu korrigieren, habe ich ein Skript, das von Moshe Zadka veröffentlicht verwendet hier .
Laden Sie hier sln2make . Verwenden Sie diesen Code auf Ihre eigene Gefahr, wird sie unter BSD-Lizenz veröffentlicht.