Mehrere Doppelpunkte und Gleichheitszeichen im Makefile (Erklärung erforderlich)
Dies ist nur ein Segment eines Makefiles. Ich verstehe nicht ganz, was los ist.
OBJS = $(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o)
$(OBJS):$(OBJ)/%.o: $(SRC)/%.cpp | print-opts
$(cc-command)
Ich verstehe nur, dass diese Zeilen .cpp-Dateien nach 'print-opts' mit 'cc-command' in .o kompilieren. Aber ich verstehe die Semantik nicht.
Wenn ich das Makro von 'OBJS' erweitere, sollte diese Zeile sein:
$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o) : $(OBJ)/%.o: $(SRC)/%.cpp | print-opts
$(cc-command)
Für mich sieht es so aus, als ob in '$ (SRCS: $ (SRC) /% .cpp = $ (OBJ) /% .o)' alle .cpp in $ (SRC) zu .o in $ ( OBJ), aber dies würde von $ (OBJ) /%. O abhängen, was von $ (SRC) /%. Cpp abhängt. Das ergibt keinen Sinn ...
Ich verstehe nicht, was hier Gleichheitszeichen bedeutet und was mehrere Doppelpunkte bedeuten.