< prev index next >

make/Init.gmk

Print this page




 137 
 138     # The spec files depend on the autoconf source code. This check makes sure
 139     # the configuration is up to date after changes to configure.
 140     CUSTOM_CONFIG_DIR ?= $(topdir)/closed/autoconf
 141 
 142     $(SPECS): $(wildcard $(topdir)/common/autoconf/*) $(wildcard $(CUSTOM_CONFIG_DIR)/*)
 143         ifeq ($(CONF_CHECK), fail)
 144           @echo "Error: The configuration is not up to date for '$(lastword $(subst /, , $(dir $@)))'."
 145           $(call PrintConfCheckFailed)
 146           @exit 2
 147         else ifeq ($(CONF_CHECK), auto)
 148           @echo "Note: The configuration is not up to date for '$(lastword $(subst /, , $(dir $@)))'."
 149           @( cd $(topdir) && \
 150               $(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -f $(topdir)/make/Init.gmk \
 151               SPEC=$@ HAS_SPEC=true ACTUAL_TOPDIR=$(topdir) \
 152               reconfigure )
 153         else ifeq ($(CONF_CHECK), ignore)
 154           # Do nothing
 155         endif
 156 



 157     # Unless reconfigure is explicitely called, let all main targets depend on
 158     # the spec files to be up to date.
 159     ifeq ($(findstring reconfigure, $(INIT_TARGETS)), )
 160       $(MAIN_TARGETS): $(SPECS)
 161     endif
 162 
 163     make-info:
 164         ifneq ($(findstring $(LOG_LEVEL),info debug trace),)
 165           $(info Running make as '$(strip $(MAKE) $(MFLAGS) \
 166               $(COMMAND_LINE_VARIABLES) $(MAKECMDGOALS))')
 167         endif
 168 
 169     MAKE_INIT_WITH_SPEC_ARGUMENTS := ACTUAL_TOPDIR=$(topdir) \
 170         USER_MAKE_VARS="$(USER_MAKE_VARS)" MAKE_LOG_FLAGS=$(MAKE_LOG_FLAGS) \
 171         LOG_LEVEL=$(LOG_LEVEL) LOG_NOFILE=$(LOG_NOFILE) LOG_CMDLINES=$(LOG_CMDLINES) \
 172         INIT_TARGETS="$(INIT_TARGETS)" \
 173         SEQUENTIAL_TARGETS="$(SEQUENTIAL_TARGETS)" \
 174         PARALLEL_TARGETS="$(PARALLEL_TARGETS)"
 175 
 176     # Now the init and main targets will be called, once for each SPEC. The




 137 
 138     # The spec files depend on the autoconf source code. This check makes sure
 139     # the configuration is up to date after changes to configure.
 140     CUSTOM_CONFIG_DIR ?= $(topdir)/closed/autoconf
 141 
 142     $(SPECS): $(wildcard $(topdir)/common/autoconf/*) $(wildcard $(CUSTOM_CONFIG_DIR)/*)
 143         ifeq ($(CONF_CHECK), fail)
 144           @echo "Error: The configuration is not up to date for '$(lastword $(subst /, , $(dir $@)))'."
 145           $(call PrintConfCheckFailed)
 146           @exit 2
 147         else ifeq ($(CONF_CHECK), auto)
 148           @echo "Note: The configuration is not up to date for '$(lastword $(subst /, , $(dir $@)))'."
 149           @( cd $(topdir) && \
 150               $(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -f $(topdir)/make/Init.gmk \
 151               SPEC=$@ HAS_SPEC=true ACTUAL_TOPDIR=$(topdir) \
 152               reconfigure )
 153         else ifeq ($(CONF_CHECK), ignore)
 154           # Do nothing
 155         endif
 156 
 157     # Do not let make delete spec files even if aborted while doing a reconfigure
 158     .PRECIOUS: $(SPECS)
 159 
 160     # Unless reconfigure is explicitely called, let all main targets depend on
 161     # the spec files to be up to date.
 162     ifeq ($(findstring reconfigure, $(INIT_TARGETS)), )
 163       $(MAIN_TARGETS): $(SPECS)
 164     endif
 165 
 166     make-info:
 167         ifneq ($(findstring $(LOG_LEVEL),info debug trace),)
 168           $(info Running make as '$(strip $(MAKE) $(MFLAGS) \
 169               $(COMMAND_LINE_VARIABLES) $(MAKECMDGOALS))')
 170         endif
 171 
 172     MAKE_INIT_WITH_SPEC_ARGUMENTS := ACTUAL_TOPDIR=$(topdir) \
 173         USER_MAKE_VARS="$(USER_MAKE_VARS)" MAKE_LOG_FLAGS=$(MAKE_LOG_FLAGS) \
 174         LOG_LEVEL=$(LOG_LEVEL) LOG_NOFILE=$(LOG_NOFILE) LOG_CMDLINES=$(LOG_CMDLINES) \
 175         INIT_TARGETS="$(INIT_TARGETS)" \
 176         SEQUENTIAL_TARGETS="$(SEQUENTIAL_TARGETS)" \
 177         PARALLEL_TARGETS="$(PARALLEL_TARGETS)"
 178 
 179     # Now the init and main targets will be called, once for each SPEC. The


< prev index next >