вторник, 29 мая 2012 г.

"Улучшение" зависимостей в Makefile

Возникла тут задачка. Есть Makefile + набор скриптов, которые обрабатывают файл с данными и рисуют кучу картинок. Есть некий файл с параметрами, управляющими этим процессом. Проблема в том, что изменение различных параметров влияет на разные стадии работы. Изменение одного параметра потребует полной перестройки, другого - только отработки финального скрипта. Такую ситуацию, т. е. зависимость цели от значения переменной, а не от времени модификации файла, make обработать не может. Что ж, значит, надо ему помочь. Приведу общую концепцию решения.

Пусть есть скрипт script, создающий файл final. Пусть есть файл pars, содержащий как параметры, влияющие на работу script, так и безрачличные для него. Наша задача - сделать так, чтобы make запускал script только при изменении важных для него параметров, а не при любом изменении pars.