2011-09-21 13 views
9

¿Cómo se mantienen las marcas de tiempo para los archivos? Estoy tratando de poner en marcha mi git repo. Estoy agregando binarios precompilados para archivos que en general no van a cambiar. Ahora, cuando pago el repo de git, no quiero compilar estos archivos c. Quiero usar estos binarios preconstruidos. Entonces, para configurar este esquema, quiero saber cómo makefile tracks timestamps. ¿Alguien puede ayudarme?¿Cómo hacer seguimiento de marcas de tiempo

Gracias

Respuesta

-1

Si está utilizando make No creo que usted debe poner estos binarios en el repositorio - simplemente permitir make para comprobar que están al día. Siempre puedes reconstruirlos. Esto es especialmente cierto si usted no es la única persona que trabaja en el proyecto. Tendrá que actualizar algunos de estos archivos en el futuro y, por lo tanto, recompilarlos. Si tienes la ilusión de que no van a cambiar, es posible que te muerdan cuando las cosas no funcionan.

+0

Sí, pero la pregunta no era sobre la buena práctica. –

+0

@Ed: La idea es que la mayoría de los archivos del proyecto no cambian. Cuando alguien obtiene una copia nueva del repositorio, entonces no quiero que él/ella compile todo. Me pregunto si puedo hacer un seguimiento de las etiquetas git y los binarios. Si git tag y binary coinciden, solo copie la compilación binaria. Solo estoy experimentando con una idea para mejorar la velocidad de las compilaciones. –

9

make mira los últimos tiempos modificados. Desde el GNU make manual:

make El programa utiliza la base de datos del makefile y los tiempos de última modificación de los archivos que decidir cuál de los archivos necesitan ser actualizados.

Y a partir de IEEE Std 1003.1-2008 make manual:

El hacen utilidad examina las relaciones de tiempo y actualizará los archivos derivados (llamados targets) que han modificado los tiempos anteriores a los tiempos modificadas de los archivos (denominados requisitos previos) de donde se derivan.

Puede utilizar touch:

contacto - acceso a archivos cambio y modificación de los tiempos

para ajustar las marcas de tiempo si es necesario.

+0

¿Eso significa que crea una base de datos cuando se ejecuta por primera vez? Si ese es el caso, entonces no podré mejorar el tiempo de compilación cuando se revise el retiro. –

+0

@ agent.smith: el archivo MAKE en sí es una especie de base de datos, una base de datos de reglas de producción. –

+0

¿Hay alguna forma de mejorar el tiempo de compilación una primera vez que se finaliza la compra utilizando los binarios ya compilados en el servidor? –

Cuestiones relacionadas