Las herramientas que llamaremos metamakes son un conjunto de utilidades que permiten acoplar el fuente de un programa para permitir la compilación correcta, soportando las idiosincrasias del sistema operativo en el que construiremos el programa.
Es un hecho que, incluso tratándose del mismo sistema operativo, la configuración de éste no tiene por qué ser igual de una máquina a otra (piénsese, por ejemplo en el caso actual de Linux, donde es facil ver sistemas con versiones del kernel 2.0.x y 2.2.x, además de haber sistemas que aún emplean la librería libc5, mientras que otros usan glibc2)
Bien, para resolver todas las pegas que nos podamos encontrar cuando compilemos nuestros programas en los entornos a los que van destinados, existen una serie de utilidades que permiten averiguar cosas sobre el sistema operativo objetivo y configurar los fuentes para que soporten unas u otras características. Aquí discutiremos dos:
Imake(1)
. Se trata de una utilidad empleada
en entornos XWindow, que permite generar el Makefile adecuado, en
función de características almacenadas en un directorio del sistema.
Autoconf(1)
. Se trata de la herramienta por
excelencia dentro de entornos de programación GNU. Esta herramienta
tiene un caracter mas dinámico, ya que permite pasar tests que nos
permitan averiguar si tal o cual característica se da en un sistema
operativo. A diferencia de Imake, las características del sistema
operativo no tienen por qué registrarse en un directorio del sistema,
y por tanto es mas dinámico e independiente de la arquitectura final.
configure
de la segunda utilidad se basa en pruebas
realizadas al sistema en el momento de configurar, mientras que el primero se
basa en información (posiblemente inexacta o incorrecta) almacenada en
ficheros del sistema.
http://SLUG.HispaLinux.ES/~luis/