Linux: un makefile de ejemplo
En Linux, se puede escribir un makefile fácilmente si utiliza las variables predefinidas de GNU hacer y sus normas incorporadas. Consideremos, por ejemplo, un makefile que crea el ejecutable xdraw a partir de tres archivos de origen C (xdraw.c, xviewobj.c, y shapes.c) Y dos archivos de cabecera (xdraw.h y shapes.h).
Supongamos que cada archivo de origen incluye uno de los archivos de cabecera. Ante estos hechos, esto es lo que una muestra makefile puede verse como:
################################################## ######## makefile Muestra # Los comentarios comienzan con '#' ################################# ########################## Utilice variables estándar para definir compilar y vincular flagsCFLAGS = -g -O2 # Definir el objetivo de "todos" los todos: xdrawOBJS = xdraw.o xviewobj.o shapes.oxdraw: $ (OBJS) # Objeto filesxdraw.o: Makefile xdraw.c xdraw.hxviewobj.o: Makefile xviewobj.c xdraw.hshapes.o: Makefile shapes.c shapes.h
Esta makefile se basa en GNU hacerEs por reglas implícitas. La conversión de .c archivos a .o archivos utiliza la regla incorporada. Definición de la variable CFLAGS pasa las banderas para el compilador de C.
El objetivo llamado todas se define como el primer objetivo por una razón - si ejecuta GNU hacer sin especificar ningún objetivo en la línea de comandos, el comando construye el primer objetivo que encuentra en la makefile.
Al definir el primer objetivo todas como xdraw, puede asegurarse de que hacer construye este archivo ejecutable, incluso si no se especifica explícitamente como un objetivo. Programadores Unix utilizan tradicionalmente todas como el nombre de la primera meta, pero el nombre del destino se inmateriales- lo que importa es que es el primer objetivo en el makefile.