Тип make
(Gnu Make) со следующими Makefile
(при условии, что файлы foo.x
и foo.y
отсутствуют)
all: foo.z
foo.z: foo.x foo.y
cat foo.x foo.y > foo.z
выдает сообщение об ошибке:
make: *** No rule to make target `foo.x', needed by `foo.z'. Stop.
Но это Makefile
:
all: foo.z
%.z: %.x %.y
cat %.x %.y > %.z
выдаст это сообщение об ошибке:
make: *** No rule to make target `foo.z', needed by `all'. Stop.
В первом случае применяется правило и определяется зависимость, если она отсутствует.
Во втором случае правило считается не соответствующим, и это правило отсутствует.
Я хочу использовать второй Makefile
(у меня есть много объектов *.z
, которые нужно создать), но с сообщением об ошибке, как с первым Makefile
. Мой make
вывод записывается в журнал, а расширенное имя отсутствующих файлов поможет отладке.
Возможно ли это? Может быть, способ заставить правило использоваться?
Конечно, я не загружаю файл, это всего лишь пример ...