diff options
-rw-r--r-- | comfignat.mk | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/comfignat.mk b/comfignat.mk index 15fb467..7916743 100644 --- a/comfignat.mk +++ b/comfignat.mk @@ -266,11 +266,11 @@ ifeq (${origin builddir},command line) endif ifeq (${origin objdir},command line) override objdir := ${abspath ${objdir}} - objdir_is_configured = true + objdir_is_overridden = true endif ifeq (${origin stagedir},command line) override stagedir := ${abspath ${stagedir}} - stagedir_is_configured = true + stagedir_is_overridden = true endif # These pathnames need to be absolute in project files, because a pathname # relative to a project file can be wrong when a separate build directory is @@ -278,7 +278,7 @@ endif # stagedir also need to be absolute in the configuration file because the # working directory might change between Make invocations. # Once modified the variables are no longer of command line origin, so they are -# marked as configured so that "make configure" will save them. +# marked as overridden so that "make configure" will save them. # @@ -499,11 +499,13 @@ configure:: ${builddir}/Makefile @( ${foreach variable,${configuration_variables}, \ ${if ${or ${findstring command line, \ ${origin ${variable}}}, \ + ${filter true,${${variable}_is_overridden}}, \ ${filter true,${${variable}_is_configured}}}, \ echo 'ifneq "$${origin ${variable}}" "command line"';\ - echo 'override ${variable} = ${value ${variable}}'; \ + echo ' override ${variable} = ${value ${variable}}';\ echo 'endif'; \ - echo '${variable}_is_configured = true';}} \ + echo '${variable}_is_configured = true'; \ + echo;}} \ true \ ) > "${configuration}" # Out of the variables listed in configuration_variables, all that were @@ -516,6 +518,12 @@ configure:: ${builddir}/Makefile # side effect of this it is possible to delete a variable V from the # configuration by running "make configure V_is_configured=false". +# How to show the values of configured variables: +show_configuration:: + @${foreach variable,${configuration_variables}, \ + ${if ${filter true,${${variable}_is_configured}}, \ + echo '${variable} = ${value ${variable}}';}} + # How to preprocess the project Comfignat: ${builddir}/comfignat.gpr: comfignat.gpr.gp | ${builddir} "${GNATPREP}" $< $@ -DInvoked_By_Makefile ${all_directories} |