Makefile的奥秘:特殊使用pathsubst有什么问题?

| 我的makefile包含以下片段(以及其他片段):
SRC = src
OBJ = obj

DEPS = $(wildcard $(SRC)/*.cpp)

# ...

all : $(BINARIES)
    @echo $(pathsubst $(SRC)/%.cpp,$(OBJ)/%.d,$(DEPS))
    @echo $(DEPS:$(SRC)/%.cpp=$(OBJ)/%.d)
当我
make all
时,只有第二个
@echo
输出:
$ make all 

obj/sample1.d obj/sample1_U.d 
(gnu make)手册指出:   另一种类型的替换引用使您可以使用patsubst函数的全部功能。它的格式与上述“ $(var:a = b)”相同,只是现在a必须包含单个“%”字符。这种情况等同于“ $(patsubst a,b,$(var))” 从这个解释中,我希望两个
@echo
语句产生相同的输出,但显然它们不会。使用显式“ 5”的第一种形式有什么问题? (我在OS X上使用ѭ6。)     
已邀请:
大概您要7英镑,而不是5英镑。     

要回复问题请先登录注册