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。)
没有找到相关结果
已邀请:
1 个回复
嗓瑰