diff options
author | Miles Bader <miles@gnu.org> | 2003-09-15 05:36:56 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2003-09-15 05:36:56 +0000 |
commit | eb7b668e8eb0eee652b01fc6d29c228eb75759f0 (patch) | |
tree | 393a769b1c5bb9f4f9a168f3e805822df717a683 /lisp/Makefile.in | |
parent | 205f1dde3c6d1d2a0617354b44c0c40020c842f7 (diff) | |
download | emacs-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.in | 30 |
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. |