+2012-09-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.in (bootstrap): Set MAKEFILE_NAME when building Makefile,
+ to avoid problems with recursion when using GNU make.
+
2012-09-22 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (bootstrap): Simplify build procedure.
# config.status overrides MAKEFILE_NAME with a bogus name when creating
# src/epaths.h, so that 'make epaths-force' does not recursively invoke
# config.status and overwrite config.status while executing it (Bug#11214).
+#
+# 'make bootstrap' overrides MAKEFILE_NAME to a nonexistent file but
+# then attempts to build that file. This forces 'Makefile', 'lib/Makefile',
+# etc. to be built without running into similar recursion problems.
MAKEFILE_NAME = Makefile
$(MAKEFILE_NAME): config.status $(srcdir)/src/config.in \
$(srcdir)/Makefile.in $(SUBDIR_MAKEFILES_IN)
# * Do the actual build.
bootstrap: bootstrap-clean FRC
cd $(srcdir) && { ./autogen.sh || autogen/copy_autogen; }
- $(MAKE) $(MFLAGS) Makefile
+ $(MAKE) $(MFLAGS) MAKEFILE_NAME=force-Makefile force-Makefile
$(MAKE) $(MFLAGS) info all
.PHONY: check-declare