Vários pontos e sinal de igual no makefile (precisa de explicação)

Este é apenas um segmento de um makefile. Eu não entendo muito bem o que está acontecendo.

OBJS = $(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o)
$(OBJS):$(OBJ)/%.o: $(SRC)/%.cpp | print-opts
    $(cc-command)

Tudo o que entendo é que essas linhas compilam arquivos .cpp em .o, depois de 'print-opts', com 'cc-command'. Mas eu não entendo a semântica.

Se eu expandir a macro do 'OBJS', esta linha deve ser:

$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o) : $(OBJ)/%.o: $(SRC)/%.cpp | print-opts
    $(cc-command)

Para mim, parece em '$ (SRCS: $ (SRC) /%. Cpp = $ (OBJ) /%. O)', ele alega que todos .cpp em $ (SRC) chegariam a $ 0 em $ ( OBJ), mas isso dependeria de $ (OBJ) /%. O, que depende de $ (SRC) /% .cpp. Isso não faz sentido ...

Eu não entendo qual é o significado do sinal de igual aqui, e o que significa múltiplos pontos.

questionAnswers(1)

yourAnswerToTheQuestion