diff options
author | midipix <writeonce@midipix.org> | 2021-04-17 10:00:59 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-04-17 13:49:34 +0000 |
commit | baed1d3d82e73c3fd9dfd8f292c36709ac33cafd (patch) | |
tree | cca5ceb7a058b002448c012f349b0cc04e22c616 /configure | |
parent | f80e0df804e6ce19a87947242eb7dd171adc5a4e (diff) | |
download | perk-baed1d3d82e73c3fd9dfd8f292c36709ac33cafd.tar.bz2 perk-baed1d3d82e73c3fd9dfd8f292c36709ac33cafd.tar.xz |
build system: configure: config_copy(): enhanced Makefile generation.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 33 |
1 files changed, 21 insertions, 12 deletions
@@ -715,19 +715,28 @@ config_copy() { output_step_prolog ${mb_script} 'config_copy' + mb_var_defs= + mb_sed_substs= + mb_vars=$(cut -d'=' -f1 "$sfrt_config_vars" "$sfrt_opt_vars" \ - | grep -v '^#') - - mb_sed_substs=" \ - $(for __var in $(printf '%s' "$mb_vars"); do \ - printf '%s"$%s"%s' "-e 's^@$__var@^'" \ - "mb_$__var" "'^g' "; \ - done)" - - eval sed $mb_sed_substs \ - $mb_project_dir/Makefile.in \ - | sed -e 's/[[:blank:]]*$//g' \ - > $mb_pwd/Makefile.tmp + | grep -v '^#'); + + for __var in $(printf '%s' "$mb_vars"); do + mb_sed_subst=$(printf '%s %s%s%s' \ + '-e' "'s^@$__var@" \ + "^___${__var}___" \ + "^g'") + + mb_sed_substs="$mb_sed_substs $mb_sed_subst" + + mb_var_def=$(printf '%s%s="${%s}"' "-D" "___${__var}___" "mb_${__var}") + eval mb_var_defs='"$mb_var_defs "$mb_var_def' + done + + eval sed $mb_sed_substs $mb_project_dir/Makefile.in \ + | eval m4 $mb_var_defs - \ + | sed -e 's/[[:blank:]]*$//g' \ + > $mb_pwd/Makefile.tmp output_step_epilog } |