makefile не может обнаружить отсутствующий файл пререквизитов - PullRequest
2 голосов
/ 02 августа 2011

У меня есть make-файл, который заботится о копировании файла из папки A в папку B.

здесь у меня есть простой make-файл для описания проблемы, с которой я сталкиваюсь. например:

all: a.txt b.txt

%.txt: test/%.txt
        cp -a $< $@

когда я вызываю команду make:

make

Копирует 2 текстовых файла.

после этого я удаляю a.txt в тестовой папке и снова запускаю make

rm test/a.txt
make

Я полагаю, что make обнаружит недоступные предпосылки, но выдаст:

make: Nothing to be done for `all'.

Как вывести ошибку в этой ситуации?

спасибо !!

1 Ответ

2 голосов
/ 02 августа 2011

Вы используете шаблонное правило, которое Make игнорирует, если предпосылки недоступны.Попробуйте это:

TEXTS := a.txt b.txt

all: $(TEXTS)

$(TEXTS): % : test/%
        cp -a $< $@
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...