diff options
Diffstat (limited to 'Konzerte/2019_01_06/make')
-rwxr-xr-x | Konzerte/2019_01_06/make | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Konzerte/2019_01_06/make b/Konzerte/2019_01_06/make new file mode 100755 index 0000000..d55cf53 --- /dev/null +++ b/Konzerte/2019_01_06/make @@ -0,0 +1,74 @@ +#!/bin/bash + +set -e + +cd "$(dirname "$0")" + +teile_params=( + 'Herbei_o_ihr_Glaeubgen:STROPHEN="[1-3]"' + Als_die_Welt_verloren + Uebers_Gebirg_Maria_geht + Fuerchtet_euch_nicht + Brich_an_du_schoenes_Morgenlicht + Freude_grosze_Freude + Ich_steh_an_deiner_Krippen_hier + Froehlich_soll_mein_Herze_springen_kombiniert_E_dur + 'Es_ist_ein_Ros_entsprungen:STROPHEN="[1-3]"' + O_du_froehliche + Freuet_euch_ihr_Christen_alle +) + +rm -f *.pre + +for teil_params in "${teile_params[@]}" +do + teil="${teil_params%%:*}" + params="${teil_params#${teil}}" + params="${params#:}" + ( + cd ../../${teil} + sed -n ' + s/^[^:]*%\.pdf.*:\s*// + T + s/%/'"${teil##*/}"'/g + p + ' Makefile | \ + tr ' ' '\n' | \ + grep '\.pre$' | \ + xargs -r make ${params} "$@" + ) +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_params[@]%%:*}" + do + echo "${loopLines}" | \ + sed " + s|%TEIL%|${teil}|g + s|%TEIL-BASE%|${teil##*/}|g + /%IF \([^=%]\+\)!=\1%/d + s|%IF [^=%]\+!=[^=%]\+%||g + s|%IF \([^=%]*[^=!%]\)=\1%||g + /%IF [^=%]\+=[^=%]\+%/d + " + done + unset loopLines + fi + echo "${line}" + fi + done > alles.pre + +lilypond alles.pre |