emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/Makefile.in,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/Makefile.in,v
Date: Sun, 22 Jun 2008 13:57:29 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/06/22 13:57:28

Index: Makefile.in
===================================================================
RCS file: /sources/emacs/emacs/Makefile.in,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -b -r1.354 -r1.355
--- Makefile.in 22 Jun 2008 02:20:13 -0000      1.354
+++ Makefile.in 22 Jun 2008 13:57:24 -0000      1.355
@@ -315,10 +315,21 @@
 # We need to build `emacs' in `src' to compile the *.elc files in `lisp'.
 lisp: src
 
+# Pass to src/Makefile.in an additional BOOTSTRAPEMACS variable which
+# is either set to bootstrap-emacs (in case bootstrap-emacs has not been
+# constructed yet) or the empty string (otherwise).
+# src/Makefile.in uses it to implement conditional dependencies, so that
+# files that need bootstrap-emacs to be built do not additionally need
+# to be kept fresher than bootstrap-emacs.  Otherwise changing a single
+# 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
+       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}'
+         LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"
 
 blessmail: ${SUBDIR_MAKEFILES} src FRC
        cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \




reply via email to

[Prev in Thread] Current Thread [Next in Thread]