Estoy jugando con makefiles y me encontré con % .o o % .c . Por lo que entendí, especifica todos los archivos c o o . Pero por qué este trabajo:
%.o: %.c
$(CC) -c $^ -o $@
y esto no funciona
SOURCE := $(wildcard *.c)
$(SOURCE:.c=.o): SOURCE
$(CC) -c $^ -o $@
Ambas expresiones especifican todos los archivos. Entonces, ¿qué hace % .o: símbolo en el archivo make?