Как применить команду ко всем измененным зависимостям в GNU Make? - PullRequest
1 голос
/ 06 августа 2011

Не уверен, что гуглить за это, поэтому извините, если вопрос глупый.

У меня есть правило Makefile, которое зависит от нескольких файлов. Когда любой из них изменяется, я хочу, чтобы make вызвал программу и передал ей список измененных файлов в качестве аргументов командной строки. В идеале я хочу что-то вроде этого:

myfiles: file1.txt file2.txt file3.txt
   my_command $(CHANGED_DEPENDENCIES)

Например, если бы я изменил file1.txt и file2.txt, я бы ожидал, что make вызовет my_command file1.txt file2.txt

Как мне это сделать?

Спасибо.

1 Ответ

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

Использовать автоматическую переменную:

$? Имена всех зависимостей, которые новее, чем цель, с пробелами между ними. Для зависимостей, которые являются членами архива, используется только названный элемент (see section Использование make для обновления архивных файлов).

См. GNU Make

...