0
Проще говоря, я хочу, чтобы дать имя правила в моем Makefile:Дайте имя правила в Makefile
A.ext : B.ext
compute A.ext from B.ext
так, что я получаю что-то вроде этого:
.PHONY : my_rule
A.ext : my_rule
my_rule : B.ext
compute A.ext from B.ext
Но это еще не эквивалентен первому, так как my_rule
всегда выполняется, даже если B.ext не изменился. Как я могу достичь эквивалентности?
Это обрезанная выход make -d
:
Considering target file `A.ext'.
Considering target file `my_rule'.
File `my_rule' does not exist.
Considering target file `B.ext'.
Finished prerequisites of target file `B.ext'.
No need to remake target `B.ext'.
Finished prerequisites of target file `my_rule'.
Must remake target `my_rule'.
(Поэтому я хочу, чтобы это то, что у меня есть еще одно правило C.ext :| my_rule
.)
Вы столкнетесь с той же проблемой «всегда работает» с этой целью «C.ext», как вы это делали с цель A.ext. Фоллические цели [не должны быть] (http://www.gnu.org/software/make/manual/html_node/Phony-Targets.html#Phony-Targets) - это префикс реальных целевых файлов. –