2010-02-20 11 views
6

Aprecio los makefiles y los hago en todo su esplendor, pero me pregunto si no hay una forma más intuitiva de mantener mis compilaciones de c/C++.¿Ha reemplazado makefiles con scripts de ruby?

¿Alguien ha intentado reemplazar sus archivos make con scripts de ruby ​​para permitir compilaciones complejas y adaptativas sin sacrificar la legibilidad? ¿Hay gemas que hacen esto más fácil?

Respuesta

6

Eche un vistazo a Rake, un reemplazo hecho en Ruby. Básicamente es un lenguaje específico de dominio pequeño, orientado a tareas típicas de make, con la posibilidad de escribir código ruby ​​normal en el Rakefile.

+0

Prometedor. Voy a ver esto. ¿Alguien ha estado en un equipo de tamaño decente que compiló su código de C++ con rake? (También estamos construyendo en Windows, si eso importa). – thebretness

+2

http://Rubini.us/ es un proyecto considerable de C++ (bueno, en realidad es un proyecto de Ruby que contiene un pedazo considerable de C++) que usa Rake como su sistema de compilación. http://IronRuby.Net/ también usa Rake; no es C++ sino C#, pero probablemente lo suficientemente cerca. Rubinius aún no funciona en Windows, pero eso no tiene nada que ver con el proceso de compilación. Y Microsoft IronRuby obviamente funciona en Windows. También hay algunas compañías integradas y de robótica que crean C++, C e incluso ensamblan con Rake. –

+0

Después de muchos retoques, construí un archivo de rastreo con el que estoy contento. Gracias. – thebretness

3

Esta es una idea muy antigua y se ha intentado con muchos lenguajes de scripting. SRC Modula-3 enviado con un lenguaje llamado "Quake" en el que se escribieron todos los m3makefile s para el proyecto. El desafío es proporcionar algo que se acerque a la brevedad y transparencia de un Makefile al tiempo que permite mucho más poder expresivo. Rake tiene un camino por recorrer antes de que se acerque a la simplicidad y claridad de la marca o el terremoto, pero es eminentemente útil. Creo que se sacrifica algo de legibilidad en relación con una herramienta como Plan 0 mk, pero Rake es mucho más legible que los usos más barrocos de Gnu Make.

3

He convertido proyectos C grandes, múltiples y complejos utilizando Rake y algunos pequeños Java.

¡Y nunca volveré a makefiles! Los rakefiles de mis ojos son mucho más legibles que los makefiles o las hormigas.

El rastrillo y el rubí tienen su propio conjunto de problemas, el principal es la documentación decente, y todavía requerirá aprendizaje y experiencia para crear sistemas de construcción decentes a menos que sea muy útil con Ruby.

Cuestiones relacionadas