diff options
Diffstat (limited to 'lisp/Makefile.in')
| -rw-r--r-- | lisp/Makefile.in | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 3a72034463c..308407a8bf1 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in | |||
| @@ -77,6 +77,8 @@ AUTOGENEL = ${loaddefs} ${srcdir}/cus-load.el ${srcdir}/finder-inf.el \ | |||
| 77 | # Set load-prefer-newer for the benefit of the non-bootstrappers. | 77 | # Set load-prefer-newer for the benefit of the non-bootstrappers. |
| 78 | BYTE_COMPILE_FLAGS = \ | 78 | BYTE_COMPILE_FLAGS = \ |
| 79 | --eval '(setq load-prefer-newer t)' $(BYTE_COMPILE_EXTRA_FLAGS) | 79 | --eval '(setq load-prefer-newer t)' $(BYTE_COMPILE_EXTRA_FLAGS) |
| 80 | # ... but we must prefer .elc files for those in the early bootstrap. | ||
| 81 | compile-first: BYTE_COMPILE_FLAGS = $(BYTE_COMPILE_EXTRA_FLAGS) | ||
| 80 | 82 | ||
| 81 | # Files to compile before others during a bootstrap. This is done to | 83 | # Files to compile before others during a bootstrap. This is done to |
| 82 | # speed up the bootstrap process. They're ordered by size, so we use | 84 | # speed up the bootstrap process. They're ordered by size, so we use |
| @@ -303,9 +305,23 @@ endif | |||
| 303 | # An old-fashioned suffix rule, which, according to the GNU Make manual, | 305 | # An old-fashioned suffix rule, which, according to the GNU Make manual, |
| 304 | # cannot have prerequisites. | 306 | # cannot have prerequisites. |
| 305 | ifeq ($(HAVE_NATIVE_COMP),yes) | 307 | ifeq ($(HAVE_NATIVE_COMP),yes) |
| 308 | ifeq ($(ANCIENT),yes) | ||
| 309 | # The first compilation of compile-first, using an interpreted compiler: | ||
| 310 | # The resulting .elc files get given a date of 1971-01-01 so that their | ||
| 311 | # date stamp is earlier than the source files, causing these to be compiled | ||
| 312 | # into native code at the second recursive invocation of this $(MAKE), | ||
| 313 | # using these .elc's. This is faster than just compiling the native code | ||
| 314 | # directly using the interpreted compile-first files. (Note: 1970-01-01 | ||
| 315 | # fails on some systems.) | ||
| 316 | .el.elc: | ||
| 317 | $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \ | ||
| 318 | -l comp -f batch-byte-compile $< | ||
| 319 | touch -t 197101010000 $@ | ||
| 320 | else | ||
| 306 | .el.elc: | 321 | .el.elc: |
| 307 | $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \ | 322 | $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \ |
| 308 | -l comp -f batch-byte+native-compile $< | 323 | -l comp -f batch-byte+native-compile $< |
| 324 | endif | ||
| 309 | else | 325 | else |
| 310 | .el.elc: | 326 | .el.elc: |
| 311 | $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $< | 327 | $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $< |