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 |