Скрипт на баше для создания PDF из Metapost.
Функциональность аналогична make.
Используется так: ./build file[.mp] [1 4 5]
это означает сделать картинки 1, 4, 5.
Если номера не указывать - сделает все картинки.
#!/bin/bash set -e set -u MPOST='mpost -tex=latex -halt-on-error' MPTOPDF='mptopdf' mpfile=$1 base=$(echo "$mpfile" | sed 's,\.\w*$,,') if ! echo $mpfile | grep '\.\w*$'; then mpfile="${mpfile}.mp" fi type='pdf' shift picnum="$@" allpic=$(grep beginfig "$mpfile" | grep -o '[0-9]*') if [ -z "$picnum" ]; then picnum=$allpic fi for pic in $picnum; do if ! echo "$allpic" | grep -w "$pic" > /dev/null; then echo "$pic: no such picture in $mpfile" exit 1 fi if [ ! -f "${base}.${pic}" ] || [ "$mpfile" -nt "${base}.${pic}" ]; then echo "$mpfile -> ${base}.${pic}" $MPOST "$mpfile" > /dev/null fi if [ ! -f "${base}-${pic}.${type}" ] || [ "${base}.${pic}" -nt "${base}-${pic}.${type}" ]; then echo "${base}.${pic} -> ${base}-${pic}.${type}" $MPTOPDF "${base}.${pic}" > /dev/null fi done exit 0