summaryrefslogtreecommitdiff
path: root/lisp/Makefile.in
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2003-09-15 05:36:56 +0000
committerMiles Bader <miles@gnu.org>2003-09-15 05:36:56 +0000
commiteb7b668e8eb0eee652b01fc6d29c228eb75759f0 (patch)
tree393a769b1c5bb9f4f9a168f3e805822df717a683 /lisp/Makefile.in
parent205f1dde3c6d1d2a0617354b44c0c40020c842f7 (diff)
downloademacs-eb7b668e8eb0eee652b01fc6d29c228eb75759f0.tar.gz
Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Add bootstrap mechanism for loaddefs.el
Diffstat (limited to 'lisp/Makefile.in')
-rw-r--r--lisp/Makefile.in30
1 files changed, 22 insertions, 8 deletions
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 4e7e911fad0..886d82c1eca 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -80,6 +80,7 @@ DONTCOMPILE = \
$(lisp)/language/utf-8-lang.el \
$(lisp)/language/georgian.el \
$(lisp)/loaddefs.el \
+ $(lisp)/loaddefs-boot.el \
$(lisp)/loadup.el \
$(lisp)/mail/blessmail.el \
$(lisp)/patcomp.el \
@@ -186,11 +187,11 @@ update-authors:
$(emacs) -f batch-update-authors $(srcdir)/AUTHORS $(srcdir)
TAGS: $(lisptagsfiles1) $(lisptagsfiles2)
- els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs.el,,"`; \
+ els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs.*\.el,,"`; \
${ETAGS} $$els
TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
- els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs.el,,"`; \
+ els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs.*\.el,,"`; \
${ETAGS} -o TAGS-LISP $$els
.SUFFIXES: .elc .el
@@ -274,14 +275,27 @@ compile-after-backup: backup-compiled-files compile-always
recompile: doit
$(EMACS) $(EMACSOPT) -f batch-byte-recompile-directory $(lisp)
-# Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el,
-# because it's not sure it's up-to-date, and if it's not, that might
-# lead to errors during the bootstrap because something fails to
-# autoload as expected. Remove compiled Lisp files so that
-# bootstrap-emacs will be built from sources only.
+# Prepare a bootstrap in the lisp subdirectory.
+#
+# Build loaddefs.el, because it's not sure it's up-to-date, and if it's not,
+# that might lead to errors during the bootstrap because something fails to
+# autoload as expected. However, if there is no emacs binary, then we can't
+# build autoloads yet, so just make sure there's some loaddefs.el file, as
+# it's necessary for generating the binary (because loaddefs.el is an
+# automatically generated file, we don't want to store it in the source
+# repository).
+#
+# Remove compiled Lisp files so that bootstrap-emacs will be built from
+# sources only.
bootstrap-clean:
- if test -x $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi
+ if test -x $(EMACS); then \
+ $(MAKE) $(MFLAGS) autoloads; \
+ else \
+ if ! test -r $(lisp)/loaddefs.el; then \
+ cp $(lisp)/loaddefs-boot.el $(lisp)/loaddefs.el; \
+ fi \
+ fi
cd $(lisp); rm -f *.elc */*.elc
# Generate/update files for the bootstrap process.