Makefile檔名操作函式

2021-08-04 05:54:35 字數 1214 閱讀 2083

下面我們要介紹的函式主要是處理檔名的。每個函式的引數字串都會被當做乙個或是一系列的檔名來對待。

$(dir ) 

名稱:取目錄函式——dir。功能:從檔名序列中取出目錄部分。目錄部分是指最後乙個反斜槓(「/」)之前的部分。如果沒有反斜槓,那麼返回「./」。返回:返回檔名序列的目錄部分。示例: $(dir src/foo.c hacks)返回值是「src/ ./」。

$(notdir )名稱:取檔案函式——notdir。功能:從檔名序列中取出非目錄部分。非目錄部分是指最後乙個反斜槓(「/」)之後的部分。返回:返回檔名序列的非目錄部分。示例: $(notdir src/foo.c hacks)返回值是「foo.c hacks」。

$(suffix )名稱:取字尾函式——suffix。功能:從檔名序列中取出各個檔名的字尾。返回:返回檔名序列的字尾序列,如果檔案沒有字尾,則返回空字串。示例:$(suffix src/foo.c src-1.0/bar.c hacks)返回值是「.c .c」。

$(basename )名稱:取字首函式——basename。功能:從檔名序列中取出各個檔名的字首部分。返回:返回檔名序列的字首序列,如果檔案沒有字首,則返回空字串。示例:$(basename src/foo.c src-1.0/bar.c hacks)返回值是「src/foo src-1.0/bar hacks」。

$(addsuffix , ) 

名稱:加字尾函式——addsuffix。功能:把字尾加到中的每個單詞後面。返回:返回加過字尾的檔名序列。示例:$(addsuffix .c,foo bar)返回值是「foo.c bar.c」。

$(addprefix , )名稱:加字首函式——addprefix。功能:把字首加到中的每個單詞後面。返回:返回加過字首的檔名序列。示例:$(addprefix src/,foo bar)返回值是「src/foo src/bar」。

$(join , )名稱:連線函式——join。功能:把中的單詞對應地加到的單詞後面。如果的單詞個數要比的多,那麼,中的多出來的單詞將保持原樣。如果的單詞個數要比多,那麼,多出來的單詞將被複製到中。返回:返回連線過後的字串。示例:$(join aaa bbb , 111 222 333)返回值是「aaa111 bbb222 333」。

Makefile根據檔名編譯檔案

同級目錄下有多個具有main函式的.c檔案,需要根據檔名來覺得哪乙個.c被編譯。makefile檔案如下 bin test cc gcc cflags dxdebug 自定義的巨集定義 libs incs i.inc 標頭檔案的路徑 srcs 0.c cobjs srcs c o all bin c...

MFC 檔案路徑 檔名操作

strfilename strpathname.mid strpathname.reversefind 1 若去掉.txt exe doc等字尾,共4個字元 strfilename strpathname.mid strpathname.reversefind 1,strpathname.lengt...

makefile 獲取當前目錄的子檔名

dir shell ls l grep d awk 上面就是makefile通過shell獲取當前目錄下所有目錄的指令碼,awk把第9列顯示出來,在命令列 9 在makefile中shell變數 9 grep d的意思 過濾d開頭的 如下 在目錄下有camera common communicati...