+2010-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * Makefile.in (src): Provide the name of the VCS file that witnesses
+ a pull.
+ ($(srcdir)/src/config.in): Handle accidental removal of src/config.in.
+
2010-05-17 Glenn Morris <rgm@gnu.org>
* configure.in (OLDXMENU_DEPS): New output variable.
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"; \
fi;
+ if [ -r .bzr/checkout/dirstate ]; then \
+ vcswitness="$$(pwd)/.bzr/checkout/dirstate"; \
+ fi; \
cd $@; $(MAKE) all $(MFLAGS) \
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
- LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS=""
+ LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="" \
+ VCSWITNESS="$$vcswitness"
blessmail: Makefile src FRC
cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \
cd ${srcdir} && autoconf
$(srcdir)/src/config.in: $(srcdir)/src/stamp-h.in
- @true
+ @ # Usually, there's no need to rebuild src/config.in just
+ @ # because stamp-h.in has changed (since building stamp-h.in
+ @ # refreshes config.in as well), but if config.in is missing
+ @ # then we really need to do something more.
+ [ -r "$@" ] || ( cd ${srcdir} && autoheader )
$(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
cd ${srcdir} && autoheader
rm -f $(srcdir)/src/stamp-h.in
/* Since the .el.elc rule cannot specify an extra dependency, we do it here. */
${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS)
-${lispsource}loaddefs.el: $(BOOTSTRAPEMACS)
+/* VCSWITNESS points to the file that holds info about the current checkout.
+ We use it as a heuristic to decide when to rebuild loaddefs.el. */
+${lispsource}loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=${bootstrap_exe}
/* Dump an Emacs executable named bootstrap-emacs containing the