【发布时间】:2012-07-11 05:19:28
【问题描述】:
这只是生成文件的一部分。我不太明白发生了什么。
OBJS = $(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o)
$(OBJS):$(OBJ)/%.o: $(SRC)/%.cpp | print-opts
$(cc-command)
我所理解的是,这些行将 .cpp 文件编译为 .o,在“print-opts”之后,使用“cc-command”。但我不明白语义。
如果我展开'OBJS'的宏,这一行应该是:
$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o) : $(OBJ)/%.o: $(SRC)/%.cpp | print-opts
$(cc-command)
对我来说,它看起来像在 '$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o)' 中,它声称 $(SRC) 中的所有 .cpp 都会变成 .o在 $(OBJ) 中,但这将取决于 $(OBJ)/%.o,这取决于 $(SRC)/%.cpp。这没有意义……
我不明白这里的等号是什么意思,多个冒号是什么意思。
【问题讨论】:
标签: makefile