Я пишу Makefile для построения латексного документа в зависимости от графиков, данные которых генерируются из некоторых других данных с помощью некоторого сценария Python.
Это выглядит так
% pdf plot needed by final document
build/tikz-standalone/%.pdf: build/tikz-standalone/%.tex xy_data
cd $$(dirname $@) && ../../latexrun $$(basename $<)
xy_data: $(PLOT_DATA) tools/plots/crunch.py | build
% crunch.py will create data for plots needed by build/tikz-standalone/%.tex
PYTHONPATH=. tools/plots/crunch.py
build:
mkdir -p build build/other_stuff ...
crunch.py
генерирует несколько файлов данных в build/data
, которые необходимы для build/tikz-standalone/%.tex
.Для создания этих файлов используются другие файлы, хранящиеся в переменной PLOT_DATA
.Я мог бы поместить список промежуточных файлов данных в build/data
в Makefile в позиции xy_data
.Мне это не нравится, так как для этого потребуется обновлять список всякий раз, когда добавляется новый файл.Я хочу, чтобы все файлы данных создавались заново при каждом изменении crunch.py
или $(PLOT_DATA)
.
Есть ли способ выразить это в Make?