Next: Comprobación de dependencias
Up: Una típica práctica.
Previous: Una típica práctica.
  Índice General
  Índice de Materias
Vamos a ver como seria el Makefile necesario para automatizar todo el proceso de
compilado, linkado y testeo de nuestra práctica.
Se hiciese el cambio que se hiciese en cualquiera de los ficheros fuente,
bastaría ejecutar el comando make mi_ejecutable
en el directorio de nuestra
práctica (donde ha de estar también el Makefile) para que se compilasen y linkasen todos
los ficheros que fuesen necesarios (y sólo los necesarios).
Para entender cómo funciona esta magia vamos a ir analizando una por una todas
las lineas del Makefile:
- Las dos primeras lineas del Makefile son comentarios, make no las tiene en
cuenta.
- La cuarta linea nos presenta lo que en make se llama
linea de
dependencia
, está constituida por un
objetivo
(mi_ejecutable), ``:''
obligatorios y una lista de
prerequisitos
que son necesarios para la
obtención del objetivo.
En este caso para hacer el ejecutable de nuestro programa, se necesitan los
códigos objeto del programa principal y los de las bibliotecas.
- En la linea número cinco se define la manera de obtener el objetivo a partir de
los prerequisitos. Esto es a lo que se llama
linea de comandos
. Las lineas
de comandos han de ir encabezadas por un tabulador.
La principal fuente de errores en un Makefile viene de no observar las estrictas
normas de sintaxis. Es obligatorio poner el tabulador al principio de todas las
lineas de comandos. Si no se pone, make no funcionará y el mensaje de error que
proporciona no da demasiadas pistas a un novato sobre cuál puede ser el problema.
- En la linea número siete encontramos la siguiente linea de dependencia, junto
con la linea número ocho definen la manera de obtener el código objeto del
programa principal. Las otras dos entradas al Makefile definen la manera de
obtener los códigos objetos de las bibliotecas.
Next: Comprobación de dependencias
Up: Una típica práctica.
Previous: Una típica práctica.
  Índice General
  Índice de Materias
Alberto Cortés
2001-03-26