make power

2013-10-30

Пока я работал с Неназываемым — столкнулся с необходимостью многократно прогонять комплект действий с питоновскими скриптами. Потратив примерно полчаса (чуть меньше на самом деле — учитывайте, что я не профессиональный программист, а скромный power user) разобрался в GNU make и написал себе такой вот файлик:

all: struc func

clean:
    rm *.csv
    rm *.dot
    rm *.png

struc:
    python st.py 
    find . -name '*.dot' -exec dot {} -Tpng -o {}.png \;
func:
    python fun.py 
    find . -name '*.dot' -exec dot {} -Tpng -o {}.png \;
one:
    python st.py 
    dot struct_kond_B1_01.dot -Tpng -o poligon.png
    geeqie poligon.png

В данном случае make struc считает одни аспекты Неназываемого и с помощью graphviz (точнее dot) рисует к ним диаграммы, make func делает тоже самое для других аспектов Неназываемого, make one — отладочный «единичный сценарий», make clean чистит папку от лишних файлов (храните в версионном контроле только то, что редактируется руками, ага). make или make all прогоняет сценарии всех аспектов Неназываемого.

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

Например. Читать далее…


%d такие блоггеры, как: