summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2000-05-16 22:21:09 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2000-05-16 22:21:09 (GMT)
commit45c453d75cfd86bf2b4a5c1180bed4666411ec84 (patch)
tree4367bdc9ea43fc66bd20e5b2de8e7c1193afabeb
parent4bd2ae82f6b9f7a0f3a4af4bdd5abadfe94387ee (diff)
downloadhdf5-45c453d75cfd86bf2b4a5c1180bed4666411ec84.zip
hdf5-45c453d75cfd86bf2b4a5c1180bed4666411ec84.tar.gz
hdf5-45c453d75cfd86bf2b4a5c1180bed4666411ec84.tar.bz2
[svn-r2257] (This had been applied to the development main branch.)
Problem: The Makefile target triggers gmake to redo the whole auto-configure process if it sees any autoconfigure related files changed. It causes couple problems. One is that when multiple machines using --srcdir are running make, they may detect the changes and launch the autoconf at the same time. These end up as multiple hosts updating the same srcdir area together--bad things can happen. Another one is that when one modifies some Makefile.in, then try "make distclean" before launching the configure process. Instead of cleaning things, it started a configure, recreate all Makefiles and other files, then finally come around to do the distclean--who knows what it cleans by now since the Makefile is changed too. Last problem was that this auto-process will launch even for command "gmake -n ...". Solution: Renamed Makefile target to reconfigure so that the auto-checking is still available but must be launched explicitedly. If one wishes to have the auto-checking as default, one may do alias gmake "\gmake -i reconfigure; gmake \!* ".
-rw-r--r--config/commence.in8
1 files changed, 7 insertions, 1 deletions
diff --git a/config/commence.in b/config/commence.in
index b84a131..1d154e8 100644
--- a/config/commence.in
+++ b/config/commence.in
@@ -93,6 +93,11 @@ all:
# a version of make that doesn't treat the makefile as the initial target
# the user may want to occassionally type `make Makefile' in any source
# directory.
+# The `Makefile' target has been renamed to `reconfigure' so that the
+# autoconf and make depend processes do not start up automatically.
+# One must do `make reconfigure' explicitedly to start the process.
+# (When srcdir is used and if more than one machines are running,
+# this automatic Makefile/autoconf can get things unstable.)
#
STAMP1=$(top_builddir)/config/stamp1
STAMP2=$(top_builddir)/config/stamp2
@@ -117,7 +122,8 @@ $(top_srcdir)/configure: $(top_srcdir)/configure.in
$(top_builddir)/config.status: $(top_srcdir)/configure $(STAMP1)
-cd $(top_builddir); ./config.status --recheck
-Makefile: $(MAKEFILE_PARTS) $(STAMP2)
+# rerun the autoconf process if any configure components have changed.
+reconfigure: $(MAKEFILE_PARTS) $(STAMP2)
-cd $(top_builddir); CONFIG_HEADERS= ./config.status
#------------------------------------------------------------------------------