Ваша проблема заключается в том, что вы расширяете слишком много раз.
Вы принимаете $(SRC_IMG_DIR)/[email protected])
$(SRC_IMG_DIR)
немного расширяется во время начальной фазы синтаксического анализа и [email protected]
бит, который расширяется во время вторичного расширения мини-фазы и затем расширяется, что результате снова.
Предположим, вы запустили make A.png
исходные результаты анализа в A.png A.tif ...: $(../images/class/[email protected])
.
определения
Target, то происходит и make
решает, что необходимо строить A.png
так он находит A.png
цели и видит, что он нуждается в расширении $(../images/class/[email protected])
, расширяет [email protected]
(который A.png
) и получает $(../images/class/A.png)
, а затем расширяет ../images/class/A.png
в качестве имени переменного и заканчивается пустым предварительным условием и заканчивается запуском cp -f A.png
.
Вы не хотите, чтобы в последний раз расширение так уронить оберточной $(...)
:
$(IMGS): $(SRC_IMG_DIR)/[email protected]
Как насчет этого не работает? Что происходит, когда вы запускаете 'make'? ... О, я вижу. –
Включая конкретную подробную ошибку, нежелательные результаты ** действительно полезны. –