这只是生成文件的一部分。我不太明白发生了什么。
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 都会在 $( OBJ),但这将取决于 $(OBJ)/%.o,它取决于 $(SRC)/%.cpp。这没有意义...
我不明白这里的等号是什么意思,多个冒号是什么意思。