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
1. Instale Oracle VM virtualBox, estoy usando la versión 4.0. La dirección oficial de descarga est
La ejecución de live55 en Linux muestra la figura: no obtener ip: ip es 0.0.0.0 live555 no conoce l
comando no encontrado Ingrese exportar PATH = /usr /bin: /usr /sbin: /bin: /sbin: /usr /X11R6
La línea de comandos de Linux es útil, eficiente y divertida, pero a veces peligrosa, especialment
Linux enlaces duros y enlaces blandos comprensión profunda
Oracle, Informix entorno de base de datos de configuración de las variables y compilado
Cómo utilizar la memoria USB en un entorno Linux
Solución remota china de Linux a distancia
estibador acumulación depósito privado y empuje el espejo
Ver /modificar la zona horaria y hora de Linux
Debe conocer los 16 comandos de monitoreo del servidor Linux
Cómo instalar Varish como caché y proxy
Usuario de Linux y permisos de usuario de apache bajo Linux
Controlador de dispositivo LINUX: carrera, bloque, código de reingreso
Sistema operativo Linux instalación del controlador de la tarjeta de sonido y configuración
El teclado de la computadora está roto. El teclado de la pantalla de win8 llega a la emergencia
Linux reiniciar oracle database tres consejos
Cómo eliminar manualmente el controlador de la impresora win7
Cómo reproducir música móvil en la computadora WIN7
¿Qué cambios a la característica de DirectX en Windows 8
Explicación del significado de algunos procesos comunes en el sistema Vista
Cómo apagar directamente la computadora win7 después de ingresar al estado de la pantalla de bloqueo