友快網

導航選單

Makefile中的部分函式

dir

語法:$(dir

釋義:從檔名序列中取出目錄部分。目錄部分是指最後一個反斜槓(“/”)之前的部分。如果沒有反斜槓,那麼返回“。/”。

示例:

$(dir src/main。c main)返回值是“src/ 。/”。

notdir

語法:$(notdir filelist)

釋義:用於去掉檔案的絕對路徑,只保留檔名

示例:

filelist := /src/main。c /src/test。c

file := $(notdir $(filelist))

foreach

語法: $(foreach var,list,text)

釋義:將list中的每個值依次賦給var,再將var傳給表示式並執行,最後返回表示式值

示例:

sourcefile := a b c d

destfile := $(foreach f, $(sourcefile), $(f)。c)

最終destfile的值為:a。c b。c c。c d。c

filter

語法:

$(filter PATTERN,TEXT)

釋義:獲取字串“TEXT”中所有符合模式“PATTERN”的值

示例:

FILE = a。c b。h c。s d。cpp

SRC = $(filter, %。c, $(FILE))

最終SRC的值為: a。c

filter-out

語法:

$(filter-out PATTERN,TEXT)

釋義:獲取字串“TEXT”中所有不符合模式“PATTERN”的值

示例:

FILE = a。c b。h c。s d。exe

SRC = $(filter-out, %。c, $(FILE))

最終SRC的值為: b。h c。s d。exe

wildcard

語法:

$(wildcard 指定檔案型別)

釋義:

顯示指定路徑下指定檔案型別的所有檔案

示例:

alt="Makefile中的部分函式" data-isLoading="0" src="/static/img/blank.gif" data-src=$(wildcard *。c 。/sub/*。c)

patsubst

語法:$(patsubst pattern,replacement,text)

釋義:patsubst把text中的變數符合pattern的全部替換成replacement

示例:

$(patsubst %。c,%。o,$(dir) )

patsubst把$(dir)中的變數符合字尾是。c的全部替換成。o

上一篇:衣不如新人不如故 盤點孫菲菲、張檬、蕭薔……整容前盛世美顏
下一篇:“西風不過堂,人旺家也富”,這句話什麼意思?來聽聽長輩的解釋