#!/bin/bash set -e set -o posix set -o pipefail input=$1 ; shift planar_graph=$1 ; shift dest=$1 ; shift sums=$1 ; shift inst () { mv -vf $dest.tmp $dest; } if test -f $dest.reuse; then cp -v $dest.reuse $dest.tmp inst exit 0 fi sha256sum "$input" "$planar_graph" >$sums.tmp for arg in "$@"; do printf >>$sums.tmp "%s\n" "$arg"; done if cmp $sums.tmp $sums; then exit 0 fi "$planar_graph" <$input "$@" inst mv -f $sums.tmp $sums