Follow-up Comment #3, bug #24251 (project make): I reproduced the behavior you saw without svn by replacing the end of the makefile with:
$(ECOS_MAKE) : $(ECOS_DIR) $(ECOS_DIR) : mkdir -p $(ECOS_DIR)/include/pkgconf/ { echo 'ECOS_GLOBAL_CFLAGS = -mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -finit-priority'; echo 'ECOS_GLOBAL_LDFLAGS = -mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib'; echo 'ECOS_COMMAND_PREFIX = arm-elf-'; } > $(ECOS_MAKE) Looking at the manual, "After all makefiles have been checked, if any have actually been changed, `make' starts with a clean slate and reads all the makefiles over again". That suggests that it should re-evaluate all these variables. But using "make --debug=all" suggests that make isn't restarting. Looking at the source code, it seems to be checking whether the modification time on the makefile has changed: if (file->updated && g->changed && mtime != file->mtime_before_update) { /* Updating was done. If this is a makefile and just_print_flag or question_flag is set (meaning -n or -q was given and this file was specified as a command-line target), don't change STATUS. If STATUS is changed, we will get re-exec'd, and enter an infinite loop. */ But makefile doesn't give a rule for updating $(ECOS_MAKE). It just says that it depends on $(ECOS_DIR). Telling make that it needn't do anything to update $(ECOS_MAKE) once it's updated $(ECOS_DIR), by changing: $(ECOS_MAKE) : $(ECOS_DIR) To: $(ECOS_MAKE) : $(ECOS_DIR); Fixes the problem. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?24251> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make