]> code.delx.au - gnu-emacs/commitdiff
* Makefile.in (Makefile): Use it for its timestamp value as well, and
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 25 Jun 2008 15:46:23 +0000 (15:46 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 25 Jun 2008 15:46:23 +0000 (15:46 +0000)
make it depend on all other */.in files.
(src/Makefile, src/config.stamp, lib-src/Makefile)
(doc/emacs/Makefile, doc/misc/Makefile, doc/lispref/Makefile)
(doc/lispintro/Makefile, oldXMenu/Makefile, lwlib/Makefile)
(leim/Makefile, lisp/Makefile): Remove those overlapping targets.
(leim, ${SUBDIR}, blessmail): Only depend on Makefile now.
* configure.in: Don't create src/config.stamp any more.

ChangeLog
Makefile.in
configure.in

index 7c5bc7e10ffcbd7d2617ce3044d93655af13590d..63e11ba32e282937d17fee74996f1dc59cb17940 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2008-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * Makefile.in (Makefile): Use it for its timestamp value as well, and
+       make it depend on all other */.in files.
+       (src/Makefile, src/config.stamp, lib-src/Makefile)
+       (doc/emacs/Makefile, doc/misc/Makefile, doc/lispref/Makefile)
+       (doc/lispintro/Makefile, oldXMenu/Makefile, lwlib/Makefile)
+       (leim/Makefile, lisp/Makefile): Remove those overlapping targets.
+       (leim, ${SUBDIR}, blessmail): Only depend on Makefile now.
+
+       * configure.in: Don't create src/config.stamp any more.
+
 2008-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * Makefile.in (${SUBDIR}): Pass additional BOOTSTRAPEMACS argument.
index abd61490fbed57a602efe346572a04e7480b2ae9..8e826394d43410d36ec863fe80c2af65bd2b198d 100644 (file)
@@ -301,15 +301,13 @@ epaths-force: FRC
 # "export PARALLEL=0" is for SGI's Make, to prevent it from
 # running more than 1 process in the leim directory, especially for
 # the $TIT files there.
-leim:   src ${SUBDIR_MAKEFILES} FRC
+leim:   src Makefile FRC
        (export PARALLEL; PARALLEL=0; cd $@; $(MAKE) all $(MFLAGS) \
          CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
          LDFLAGS='${LDFLAGS}' MAKE='${MAKE}')
 
 src:   lib-src FRC
 
-lib-src: FRC src/config.stamp
-
 .RECURSIVE: ${SUBDIR} leim
 
 # We need to build `emacs' in `src' to compile the *.elc files in `lisp'.
@@ -324,18 +322,32 @@ lisp: src
 # file src/foo.c forces dumping a new bootstrap-emacs, then re-byte-compiling
 # all preloaded elisp files, and only then dump the actual src/emacs, which
 # is not wrong, but is overkill in 99.99% of the cases.
-${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
+${SUBDIR}: Makefile FRC
        boot=bootstrap-emacs$(EXEEXT);                         \
        if [ -x "src/$$boot" ]; then boot=""; fi;                   \
        cd $@; $(MAKE) all $(MFLAGS)                           \
          CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
          LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"
 
-blessmail: ${SUBDIR_MAKEFILES} src FRC
+blessmail: Makefile src FRC
        cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \
          MAKE='${MAKE}' archlibdir='$(archlibdir)'
 
-Makefile: $(srcdir)/Makefile.in config.status
+# We used to have one rule per */Makefile.in, but that leads to race
+# conditions with parallel makes, so let's assume that the time stamp on
+# ./Makefile is representative of the time stamp on all the other Makefiles.
+Makefile: config.status $(srcdir)/src/config.in \
+          $(srcdir)/Makefile.in \
+          $(srcdir)/src/Makefile.in \
+          $(srcdir)/lib-src/Makefile.in \
+          $(srcdir)/doc/emacs/Makefile.in \
+          $(srcdir)/doc/misc/Makefile.in \
+          $(srcdir)/doc/lispref/Makefile.in \
+          $(srcdir)/doc/lispintro/Makefile.in \
+          $(srcdir)/oldXMenu/Makefile.in \
+          $(srcdir)/lwlib/Makefile.in \
+          $(srcdir)/leim/Makefile.in \
+          $(srcdir)/lisp/Makefile.in
        ./config.status
 
 config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
@@ -353,40 +365,6 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
        rm -f $(srcdir)/src/stamp-h.in
        echo timestamp > $(srcdir)/src/stamp-h.in
 
-src/Makefile: $(srcdir)/src/Makefile.in config.status
-       ./config.status
-
-src/config.stamp: $(srcdir)/src/config.in config.status
-       ./config.status
-       touch src/config.stamp
-
-lib-src/Makefile: $(srcdir)/lib-src/Makefile.in config.status
-       ./config.status
-
-doc/emacs/Makefile: $(srcdir)/doc/emacs/Makefile.in config.status
-       ./config.status
-
-doc/misc/Makefile: $(srcdir)/doc/misc/Makefile.in config.status
-       ./config.status
-
-doc/lispref/Makefile: $(srcdir)/doc/lispref/Makefile.in config.status
-       ./config.status
-
-doc/lispintro/Makefile: $(srcdir)/doc/lispintro/Makefile.in config.status
-       ./config.status
-
-oldXMenu/Makefile: $(srcdir)/oldXMenu/Makefile.in config.status
-       ./config.status
-
-lwlib/Makefile: $(srcdir)/lwlib/Makefile.in config.status
-       ./config.status
-
-leim/Makefile: $(srcdir)/leim/Makefile.in config.status
-       ./config.status
-
-lisp/Makefile: $(srcdir)/lisp/Makefile.in config.status
-       ./config.status
-
 # ==================== Installation ====================
 
 ## If we let lib-src do its own installation, that means we
index 944661707f9098cf2f87860b38b86a5c0041991e..7e90aa68cbfae86a8294d4b6139c01d2ee2b0dce 100644 (file)
@@ -3141,9 +3141,6 @@ if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then
   echo source $srcdir/src/.gdbinit > src/.gdbinit
 fi
 
-# This is how we know whether to re-run configure in certain cases.
-touch src/config.stamp
-
 ], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS"])
 
 m4_if(dnl      Do not change this comment