En varios proyectos he visto el Makefile.in sin Makefile.am. P.ej. golpetazo http://git.savannah.gnu.org/cgit/bash.git/tree/ y dtach http://dtach.cvs.sourceforge.net/viewvc/dtach/dtach/
Siempre he pensado que Makefile.Fue generado por automake. Además, como Makefile.am es un archivo escrito por el usuario, no habría pensado que se omitiera del repositorio de códigos. En el árbol de origen de bash, Makefile.in es demasiado grande para ser escrito a mano y Makefile.in en dtach también parece generado. ¿Cómo se generó Makefile.in en proyectos como estos dos?
Respuestas
4 para la respuesta № 1los libtool
y automake
Los autotools se pueden usar independientemente uno del otro (o no), dependiendo de lo que necesite autoconf
que hacer. Por lo tanto, no es necesario usar automake
para generar Makefile.in
.
los automake
La herramienta también muestra claramente que se ha utilizado:
# Makefile.in generado por automake 1.11.1 de Makefile.am.
Así que es probable que la Makefile.in
Las que has visto están editadas "a mano".
1 para la respuesta № 2
Un Makefile.in se parece a un Makefile normal pero generalmente se completa con el script de configuración (por ejemplo, con la ubicación de una biblioteca que el usuario tiene en un directorio diferente).
Makefile.Automake utiliza a am para crear un Makefile.in de este tipo. Si los desarrolladores que crearon el paquete que está utilizando ya tenían un Makefile y escribieron un Makefile.am porque fue demasiado esfuerzo, simplemente lo convirtieron en un Makefile.in.