Tôi đang chơi xung quanh với makefiles và tôi đã bắt gặp % .o hoặc % .c . Từ những gì tôi hiểu, nó chỉ định tất cả các tập tin c hoặc o . Nhưng tại sao điều này hoạt động:
%.o: %.c
$(CC) -c $^ -o $@
và điều này không hoạt động
SOURCE := $(wildcard *.c)
$(SOURCE:.c=.o): SOURCE
$(CC) -c $^ -o $@
Cả hai biểu thức chỉ định tất cả các tập tin. Vì vậy, % .o: biểu tượng trong tập tin làm gì?