Hola a todos. Llevo ya bastante rato liado con un problema al que no encuentro solución, y no sé qué es lo que puede ocurrir. Estoy haciendo una práctica para la universidad, para la asignatura de Metodología de la Programación, donde damos C.
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:
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
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 [Seleccionar]
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