summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-06-22 13:57:28 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-06-22 13:57:28 +0000
commitb4945b9599f0651fef5fa2ca2ef6034fa0b5bfaa (patch)
treed61baf573d7a8303e0935741b886a33337e401c7 /Makefile.in
parent3656581540295dc1d28e2c3341092dba057f2523 (diff)
downloademacs-b4945b9599f0651fef5fa2ca2ef6034fa0b5bfaa.tar.gz
* Makefile.in ${SUBDIR}: Pass additional BOOTSTRAPEMACS argument.
* Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el): Use $(BOOTSTRAPEMACS) rather than witness-emacs. (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it. (witness-emacs): Remove. (lisp, shortlisp): Move loaddefs.el earlier. (mostlyclean): Forget about witness-emacs. * Makefile.in (COMPILE_FIRST): Trim down and add autoload.el.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in15
1 files changed, 13 insertions, 2 deletions
diff --git a/Makefile.in b/Makefile.in
index ae92424bf8e..abd61490fbe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -315,10 +315,21 @@ lib-src: FRC src/config.stamp
# 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
- cd $@; $(MAKE) all $(MFLAGS) \
+ 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) \