1. 程式人生 > >Makefile 中wildcard、notdir、patsubst 作用

Makefile 中wildcard、notdir、patsubst 作用

SOURCES= $(wildcard *.c  <具體目錄下檔案>)  

        匹配當前目錄下 所有.c檔案 ; 也可以自定具體目錄下檔案

FILES =$(notdir $(SOURCES))

        去掉檔案的路徑;只保留檔名稱

OBJS = $(patsubst %.c,%.o,$(SOURCES))

        patsubst

需要3個引數:第一個是一個需要匹配的式樣,第二個表示用什麼來替換它,第三個是一個需要被處理的由空格分隔的字列。

               把 SOURCES 所指的檔案中 所有.c  替換為 .o

注意:

在編寫makefile後,make專案時提示如下錯誤:

       Makefile:(行號):*** missing separator. Stop.
這個錯誤是因為你在讓makefile來執行你所指定的命令時,命令沒有以tab鍵作起始導到的,即在makefile中輸入命令要先以tab鍵退格再輸