#!/bin/bash set -e cd "$(dirname "$0")" teile=( Kyrie Denn_er_hat_seinen_Engeln_ Hoere_nun_Herr_die_Bitten Ich_sing_dir_mein_Lied Fuellt_die_Kruege_mit_Wasser Ueber_dir_wach_ein_Engel ) rm -f *.pre for teil in "${teile[@]}" do ( cd ../../${teil} sed -n ' s/^[^:]*%\.pdf.*:\s*// T s/%/'"${teil##*/}"'/g p ' Makefile | \ tr ' ' '\n' | \ grep '\.pre$' | \ xargs -r make "$@" ) done { printf '\n\n' cat alles.ly printf '\n\n' } | \ while read -r line do if [[ "${line}" = '%LOOP%'* ]] then loopLines="${loopLines} ${line#%LOOP%}" else if [ -n "${loopLines}" ] then for teil in "${teile[@]}" do echo "${loopLines}" | \ sed " s|%TEIL%|${teil}|g s|%TEIL-BASE%|${teil##*/}|g s|%IF \([^=]\+\)=\1%||g /%IF [^=]\+=[^=]\+%/d " done unset loopLines fi echo "${line}" fi done > alles.pre lilypond alles.pre