Archivo

Posts Tagged 'makefile'

La conversión de las soluciones de Visual Studio para Makefiles

Un script en Python para convertir Microsoft Visual Studio 2005 archivos de solución (*. sln) y los archivos de proyecto asociado (*. vcproj) en un conjunto de Makefile.

El Sln2Make clase hace todo el trabajo, analiza los archivos sln y vcproj y genera un Makefile principal y un Makefile.ag para cada proyecto en la solución. El Makefiles.ag generado tendrá dos objetivos, "todos" y "limpia", el script también incluye las bibliotecas dependientes si están bien definidos en la solución. Para usarlo, sólo una instancia de la clase con los siguientes parámetros:

Sln2Make(slnpath, exlist, dirrepl, librepl)

donde:

  • slnpath es la ruta de acceso al archivo de la solución
  • exlist una lista opcional de archivos a excluir, de forma opcional se puede pasar el contenido de una alternativa de crear el archivo con esta sintaxis: [[dest, make_all_replacement, make_clean_replacement], ...]
  • dirrepl una lista de reglas de sustitución de directorio
  • librepl biblioteca de reglas de sustitución de nombre (cuando se gana el nombre de la biblioteca no coincide con el nombre de sistema operativo de la biblioteca)

ejemplo:

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)

Para corregir la trayectoria caso, he usado un script publicado por Moshe Zadka aquí .
Descargar sln2make aquí . Utilizar este código a su propio riesgo, está liberado bajo licencia BSD.