У меня есть Makefile:
MAKEFILE_DIR:=$(dir $(realpath $(lastword $(MAKEFILE_LIST))))
DIR:=$(MAKEFILE_DIR)/some/where
.PHONY: load install
load: $(DIR)
some-actions...
$(DIR): install
another-actions...
когда я запускаю make load
, я вижу, что $(DIR)
считается пропущенным, и $(DIR)
вызывается цель, поэтому вызывается install
и another-actions
. Это происходит каждый раз. Где ошибка? Как это исправить, чтобы $(DIR)
вызывался только тогда, когда его не существует?
PS. У меня была идея, что mtime из $(DIR)
меняется, может быть, оно меняется после каждого запуска make. Я проверил это с stat
, кажется, это не меняется.