У меня есть проект на основе Makefile и некоторые скрипты Python, которые создают файлы графиков, например (в моем Makefile)
plot.pdf: my_script.py
python my_script.py -o $@
Обычно эти скрипты имеют зависимости от данных, например my_data.txt
, поэтому я добавил это вмой Makefile
plot.pdf: my_script.py my_data.txt
python my_script.py -o $@
Это очень громоздко, так как мне нужно синхронизировать Makefile и скрипт Python.Поэтому я переключился на экспорт правил Make из скрипта python:
plot.pdf: my_script.py
python my_script.py -o $@ --make-mode
--make-mode
напишет Makefile, в котором будет указана зависимость plot.pdf
от my_data.txt
.Мой Makefile настроен на источник всех этих автоматически сгенерированных Makefile.
Для поддержки инкрементных сборок, когда я меняю свой скрипт на python, я указал зависимость plot.pdf
от my_script.py
.Но my_script.py
также зависит от других написанных мной скриптов на python.Если я изменю эти сценарии, например utils.py
, мой файл plot.pdf
не будет обновлен. Есть ли способ получить пути к файлам импортированных скриптов Python из Python, чтобы я мог добавить их в мой автоматически сгенерированный Makefile? Или вы можете порекомендовать альтернативный подход?