diff options
Diffstat (limited to 'Makefile.in')
| -rw-r--r-- | Makefile.in | 15 |
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 | |||
| 315 | # We need to build `emacs' in `src' to compile the *.elc files in `lisp'. | 315 | # We need to build `emacs' in `src' to compile the *.elc files in `lisp'. |
| 316 | lisp: src | 316 | lisp: src |
| 317 | 317 | ||
| 318 | # Pass to src/Makefile.in an additional BOOTSTRAPEMACS variable which | ||
| 319 | # is either set to bootstrap-emacs (in case bootstrap-emacs has not been | ||
| 320 | # constructed yet) or the empty string (otherwise). | ||
| 321 | # src/Makefile.in uses it to implement conditional dependencies, so that | ||
| 322 | # files that need bootstrap-emacs to be built do not additionally need | ||
| 323 | # to be kept fresher than bootstrap-emacs. Otherwise changing a single | ||
| 324 | # file src/foo.c forces dumping a new bootstrap-emacs, then re-byte-compiling | ||
| 325 | # all preloaded elisp files, and only then dump the actual src/emacs, which | ||
| 326 | # is not wrong, but is overkill in 99.99% of the cases. | ||
| 318 | ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC | 327 | ${SUBDIR}: ${SUBDIR_MAKEFILES} FRC |
| 319 | cd $@; $(MAKE) all $(MFLAGS) \ | 328 | boot=bootstrap-emacs$(EXEEXT); \ |
| 329 | if [ -x "src/$$boot" ]; then boot=""; fi; \ | ||
| 330 | cd $@; $(MAKE) all $(MFLAGS) \ | ||
| 320 | CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ | 331 | CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ |
| 321 | LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' | 332 | LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot" |
| 322 | 333 | ||
| 323 | blessmail: ${SUBDIR_MAKEFILES} src FRC | 334 | blessmail: ${SUBDIR_MAKEFILES} src FRC |
| 324 | cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \ | 335 | cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \ |