Pues bien, la práctica me la he inventado yo y combino elementos de todo lo que se ha visto a durante el cuatrimestre, con el fin de repasarlo todo. Tengo el siguiente makefile:
Código:
LIB_DIR = lib/
LIB = $(LIB_DIR)libProcesos.a
SRC_DIR = funcs/
INCLUDE_DIR = include/
BUILD_DIR = build/
BIN_DIR = bin/
OBJ = $(BUILD_DIR)existeFichero.o
FLAGS = -g -c
existeFichero.o:
gcc $(FLAGS) $(SRC_DIR)existeFichero.c
mv existeFichero.o $(BUILD_DIR)
libProcesos.a:
ar -r $(LIB) $(OBJ)
procesos.out:
gcc -o $(BIN_DIR)procesos.out main.c $(LIB)
A la hora de ejecutar make en la consola de Linux, SIEMPRE y digo SIEMPRE, me hace únicamente la compilación del primer archivo que haya. Es decir, sólo me creará existeFichero.o, mientras que libProcesos.a y procesos.out los ignora y ni si quiera entra en sus respectivas secciones.
He probado todo, cambiar el orden, etc. Y siempre me hace sólo el primero que haya. Si por ejemplo pongo el primero a procesos.out pues sólo me compilará ese.
¿Alguien sabe qué leches puede ocurrir? Agradecería un poco de ayuda.
SaluDOS