patsubst %.c,%.o,$(wildcard *.c)
該命令將當前目錄下所有的.c文件替換為.o文件。
patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(wildcard *.c *.cpp)))
該命令先將.c文件替換為.o文件,然后再將.cpp文件替換為.o文件。
patsubst %.c,%.o,$(shell ls *.c)
該命令先使用shell命令獲取當前目錄下所有的.c文件,然后將其替換為.o文件。
patsubst %.c,%.o,$(filter %.c,$(SOURCES))
該命令先使用filter函數過濾出所有的.c文件,然后再將其替換為.o文件。