En muchos casos el objetivo de una regla de make no es un archivo. En estos casos make no podrá comprobar tiempos de modificación, por lo que se toma la decisión de ejecutar la linea de comandos siempre.
Por ejemplo, podemos ampliar nuestro Makefile (pág.
) para
que una vez generado el ejecutable lo pruebe a través de un script que hemos
preparado al efecto:
#Makefile de mi práctica, situado en el mismo directorio que
#el resto de archivos de mi práctica
LIBPATH =/home/alcortes/universidad/lao/practicas/bibliotecas/
LIBS = $(LIBPATH)mi_biblioteca1.o $(LIBPATH)mi_biblioteca2.o
OBJS = $(LIBS) mi_programa.o
prueba: mi_ejecutable
mi_script_de_prueba
mi_ejecutable: $(OBJS)
$(CC) -o $@ $(OBJS)
En este caso no existe ningún fichero que se llame prueba, por lo que si se
invocamos:
$ make pruebaMake generará el ejecutable si es necesario y correrá el script mi_script_de_prueba.