genera automáticamente todo el proceso Makefile entrada detallada

  

automake /autoconf como un desarrollador de programas de Linux, que debe de haber encontrado Makefile, con el comando make para compilar el programa escribir su propio es de hecho muy conveniente. En circunstancias normales, todos estamos a mano escribir un Makefile sencillo, si se trata de escribir un Makefile en línea con la práctica de software libre no es tan fácil.

En este artículo, vamos a describir cómo utilizar autoconf y automake dos herramientas para ayudar a generar automáticamente un Makefile en línea con la práctica de software libre, por lo que es posible que tan comunes como los programas GNU, sólo tiene que utilizar el y ". /configure y ", " hacer y ", " hacer instal y " se puede instalar el programa para ir a un sistema Linux. Esto será particularmente adecuada por falta de desarrolladores de software de código abierto, y algunos pequeños, o si simplemente escribe su propio programa de juguete, entonces este artículo será una gran ayuda para usted.

a, Makefile introducir

Makefile se utiliza para compilar y enlazar de forma automática, un proyecto hay una gran cantidad de archivos, cada archivo cambios conducirá a volver a vincular el proyecto, pero no todos los documentos es necesario volver a compilar, Makefile documentada en el registro de la información, tomará la decisión en el momento en el enlace de los archivos a volver a compilar.

La misión de Makefile es: dejar que el compilador sabe compilar un archivo que depender de qué otros archivos. Cuando los archivos dependientes han cambiado, el compilador generará automáticamente el documento final encontró anticuado, y volver a compilar el módulo correspondiente.
estructura básica

Makefile no es muy complejo, pero cuando los desarrolladores de aplicaciones comenzaron a escribir un Makefile, a menudo se preguntan si escribir su propio habitual y escribir su propio Makefile menudo asociada con su entorno de desarrollo, cuando las variables de entorno del sistema o ruta cambiado después, Makefile puede tener que seguir los cambios. Esto ha causado muchos problemas de Makefile escrito a mano, automake bien sólo para ayudar a resolver estos problemas.

El uso de automake, los desarrolladores de aplicaciones sólo se necesita escribir algún archivo simple que contiene macros predefinidas, basado en un archivo de macro generada por la configuración de autoconf automake para generar el Makefile.in de acuerdo con otro archivo de macro, a continuación, utilizar la base de configure Makefile.in para generar una línea con la práctica Makefile. Aquí vamos a introducir automake método de generación de Makefile en detalle.

Programas En segundo lugar, el medio ambiente
utilizar

mencionadas en este artículo se basan en distribuciones de Linux: Fedora Core 1, que contiene lo que necesitamos autoconf, automake.

En tercer lugar, a partir de holamundo

Partimos del programa de ejemplo holamundo utilice con mayor frecuencia.

Si el procedimiento siguiente es simplemente decir:

Las nuevas tres archivos:

helloworld.cconfigure.inMakefile.am

A continuación, ejecute:

aclocal; autoconf, automake --add-desaparecidos; ./configure; hacer; ./helloworld

puede verse Makefile generado, y puede ser compilado por helloworld.c.

muy simple, puede hacer que algunos comandos son Makefile habitual, lo que se siente.

Ahora introducir proceso detallado:

1, el directorio de compilación

construir un directorio holamundo en su directorio de trabajo, lo usamos para almacenar el programa y los documentos relacionados holamundo , como en /home /mi /construcción:

$ mkdir helloword $ cd holamundo

2, helloworld.c

a continuación, escribir su propio editor favorito hellowrold.c un archivo, como por ejemplo un comando: vi helloworld.c. Utilice el siguiente código como el contenido de helloworld.c.

int main (int argc, char ** argv) {printf (" Hola, Linux World \\ n "!); return 0;}

Después de completar la parada de salida.

Ahora en el directorio holamundo debe tener uno de su propio escribir una helloworld.c.

3, generada configurar

comando de búsqueda automática que usamos para ayudar a generar un archivo de plantilla configure.in de acuerdo con el directorio del código fuente.

comando:

$ $ escaneo automático lsconfigure.scan helloworld.c

Después de realizar en el directorio hellowrold generará un archivo: configure.scan, podemos tomarlo como configurar .en modelo.

configure.scan A continuación, se cambió el nombre configure.in, y editarla, de acuerdo con el siguiente contenido modificar, eliminar comunicado irrelevante:

============ ================ contenido configure.in comienza ============================= ============ # - * - autoconf - * -. # Proceso este archivo con autoconf para producir un script de configuración
AM_INIT_AUTOMAKE

AC_INIT (helloworld.c) (holamundo, 1.0)

# Comprueba si programs.AC_PROG_CC

# cheques para las bibliotecas.

# Comprueba si hay archivos de cabecera.

# Comprueba si typedefs, estructuras, y el compilador características.

# Comprueba si functions.AC_OUTPUT biblioteca (Makefile) ============================ contenido configure.in ========================================= final

a continuación, ejecutar aclocal comando y autoconf, cada uno de los cuales producen aclocal.m4 y configurar dos archivos:

$ aclocal $ lsaclocal.m4 configure.in helloworld.c $ autoconf $ lsaclocal.m4 autom4te.cache configurar configure.in holamundo. c

Como se puede ver el contenido de macros configure.in se definen, estas macros por AutoCon Se convertirá en una secuencia de comandos shell para comprobar las propiedades del sistema, las variables de entorno, parámetros del software deben ser f después del tratamiento.

autoconf herramienta de configuración automática se utiliza para generar la escritura de código fuente del software (Configurar) a. script de configuración de autoconf se puede ejecutar de forma independiente de y en el curso de la operación, no requiere la intervención del usuario.

Para generar el archivo de configuración, debe informar a autoconf cómo encontrar las macros que utiliza. Manera de generar sus aclocal.m4 utilizan aclocal programa.

aclocal basado en el contenido de archivos configure.in, aclocal.m4 archivo generado automáticamente. aclocal es un script Perl, que se define como: " aclocal - crear aclocal.m4 mediante el escaneo de configure.ac y ".

configure.in autoconf al compilar esta lista de software de los distintos parámetros en el archivo de plantilla que necesita para crear configure.

autoconf requiere procesador de macros m4 GNU para manejar aclocal.m4, generar el script de configuración.

m4 es un procesador macro. Entrada copia a la salida, mientras que la expansión de la macro. Macros pueden ser, puede ser definido por el usuario. Además de la expansión de macros, m4, así como funciones incorporadas para hacer referencia a un archivo, ejecutar el comando, la aritmética de enteros, la manipulación de texto, la circulación. m4 ya sea como un compilador de extremo delantero, que puede servir como un procesador macro.

4, Nueva Makefile.am

Nuevo archivo Makefile.am, el comando:

$ vi Makefile.am

dice lo siguiente:

AUTOMAKE_OPTIONS = extranjera

Copyright © Conocimiento de Windows All Rights Reserved