다음을 통해 공유


patsubst, patsubsti NMAKE 함수

대체로 대체된 패턴과 일치하는 각 항목과 일치하지 않는 항목이 있는 항목 목록으로 계산됩니다.

구문

$(patsubst pattern,replacement,input)
$(patsubsti pattern,replacement,input)

매개 변수

pattern
검색할 패턴입니다.

replacement
바꿀 pattern 패턴입니다. 와일드카드가 있는 replacement경우 와일드카드 pattern 가 일치하는 텍스트로 대체됩니다.

input
대체하거나 유지할 항목 목록입니다.

반환 값

을 반환 input하지만 일치하는 pattern 각 항목은 .로 대체됩니다 replacement. 일치하지 pattern 않는 항목은 그대로 유지됩니다.

설명

patsubsti 는 대/소문자를 구분하지 않는 버전입니다 patsubst.

이 매크로 함수는 Visual Studio 2022 버전 17.1부터 NMAKE 버전 14.31 이상에서 사용할 수 있습니다.

예시

$(patsubst He%,_%_,Hello Hey Hi) # Evaluates to "_llo_ _y_ Hi"
# "He" matches "Hello" and "Hey", and so "llo" and "y" are matched by the wildcard
# and used to substitute the wildcard in the replacement. "Hi" is not matched and so is kept as-is

$(patsubst Hi,Bye,Hello Hey Hi) # Evaluates to "Hello Hey Bye" - No wildcard is required
$(patsubst %lo,Bye,Hello Hey Hi) # Evaluates to "Bye Hey Hi"
# A wildcard can be used in the pattern without a wildcard in the replacement

$(patsubst he%,_%_,Hello Hey Hi) # Evaluates to "Hello Hey Hi" - patsubst is case-sensitive, so no substitutions performed
$(patsubsti he%,_%_,Hello Hey Hi) # Evaluates to "_llo_ _y_ Hi" - patsubsti is case-insensitive

# patsubsti is commonly used to change the file extensions of a list of files
OBJ_FILES=$(patsubst %.c,%.obj,$(C_SOURCES)) $(patsubst %.cpp,%.obj,$(patsubst %.cxx,%.obj,$(CPP_SOURCES)))

참고 항목

매크로와 NMake
범주별 NMAKE 함수