Tengo un proyecto que usa herramientas automáticas GNU para construirse. Estoy tratando de modificar para que las herramientas automáticas generen todos los archivos de control no versionados en un directorio separado para que pueda mantener el árbol de origen limpio de archivos temporales. Alguien tiene alguna idea de cómo hacer esto?
10
Respuestas:
El paquete de herramientas automáticas tiene muchas rutas y nombres relativos codificados por una buena razón. Su mejor opción es resumir el resultado y etiquetarlos como ignorados en su control de revisión, por ejemplo
.cvsignore
, en ,.hgignore
o como unsvn:ignore
atributo. Algunos RCS le permiten incluso especificar comodines de forma recursiva.fuente
Solución: hacer una compilación fuera de la fuente
Ejemplo con verificación automatizada
Por ejemplo, esto buscará y creará GNU hello y comprobará que el árbol de origen no se modifique un poco.
Preparación del árbol fuente
Esta parte recupera y prepara los directorios.
Parte genérica: reutilícela en su proyecto
Esta parte se puede usar con otros proyectos basados en autoconf. Simplemente cd en su proyecto antes de ejecutar. Cuidado: esto funciona
rm
, si juegas con variantes ten cuidado, eres responsable en cualquier caso.Comprobar parte
Esto comprueba si la compilación está perfectamente fuera de la fuente.
Aquí da salida a esto:
Bonificación: instalación no root
La
--prefix="${MYPREFIX?}"
parte de arriba es opcional. Permite hacer una "instalación de instalación" que es local para su cuenta. Si desea la tradicional "sudo make install" en una ubicación de todo el sistema, puede eliminarla--prefix="${MYPREFIX?}"
.fuente