# Maintenance productions for the Lisp directory
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
cus-load.el \
finder-inf.el \
subdirs.el \
- eshell/esh-groups.el
+ eshell/esh-groups.el \
+ mh-e/mh-loaddefs.el
# Files to compile before others during a bootstrap. This is done to
# speed up the bootstrap process. The CC files are compiled first
echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@
echo ";;" >> $@; echo ";;; Code:" >> $@
echo "\f" >> $@
- echo ";;; Local Variables:" >> $@
- echo ";;; version-control: never" >> $@
- echo ";;; no-byte-compile: t" >> $@
- echo ";;; no-update-autoloads: t" >> $@
- echo ";;; End:" >> $@
+ echo ";; Local Variables:" >> $@
+ echo ";; version-control: never" >> $@
+ echo ";; no-byte-compile: t" >> $@
+ echo ";; no-update-autoloads: t" >> $@
+ echo ";; End:" >> $@
echo ";;; loaddefs.el ends here" >> $@
autoloads: $(lisp)/loaddefs.el doit
wd=$(lisp); $(setwins); \
updates: update-subdirs autoloads finder-data custom-deps
+# This is useful after "cvs up".
+cvs-update: recompile autoloads finder-data custom-deps
+
# Update the AUTHORS file.
update-authors:
# subdirectories, to make sure require's and load's in the files being
# compiled find the right files.
-compile: $(lisp)/subdirs.el doit
+compile: $(lisp)/subdirs.el mh-autoloads doit
find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \
wd=$(lisp); $(setwins); \
els=`echo $$wins | tr ' \011' '\012\012' | \
# unconditionally. Some files don't actually get compiled because they
# set the local variable no-byte-compile.
-compile-always: $(lisp)/subdirs.el doit
+compile-always: $(lisp)/subdirs.el mh-autoloads doit
# `|| true' prevents old Bash versions from getting confused
# by an error.
find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1 || true; \
# Note that this doesn't create .elc files. It only recompiles if an
# .elc is present.
-recompile: doit $(lisp)/progmodes/cc-mode.elc
+recompile: doit mh-autoloads $(lisp)/progmodes/cc-mode.elc
$(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp)
# CC Mode uses a compile time macro system which causes a compile time
$(lisp)/progmodes/cc-defs.el
$(EMACS) $(EMACSOPT) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el
+# Update MH-E internal autoloads. These are not to be confused with
+# the autoloads for the MH-E entry points, which are already in
+# loaddefs.el.
+MH-E-SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \
+ $(lisp)/mh-e/mh-comp.el $(lisp)/mh-e/mh-customize.el \
+ $(lisp)/mh-e/mh-e.el $(lisp)/mh-e/mh-funcs.el \
+ $(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-pick.el \
+ $(lisp)/mh-e/mh-print.el $(lisp)/mh-e/mh-inc.el \
+ $(lisp)/mh-e/mh-init.el $(lisp)/mh-e/mh-index.el \
+ $(lisp)/mh-e/mh-identity.el $(lisp)/mh-e/mh-junk.el \
+ $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-speed.el \
+ $(lisp)/mh-e/mh-utils.el
+
+mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el
+$(lisp)/mh-e/mh-loaddefs.el: $(MH-E-SRC)
+ echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@
+ echo ";;" >> $@
+ echo ";; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc." >> $@
+ echo ";; Author: Bill Wohler <wohler@newt.com>" >> $@
+ echo ";; Keywords: mail" >> $@
+ echo ";;; Commentary:" >> $@
+ echo ";;; Change Log:" >> $@
+ echo ";;; Code:" >> $@
+ $(EMACS) $(EMACSOPT) \
+ -l autoload \
+ --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
+ --eval "(setq generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \
+ --eval "(setq make-backup-files nil)" \
+ -f batch-update-autoloads $(lisp)/mh-e
+ echo "\f" >> $@
+ echo "(provide 'mh-loaddefs)" >> $@
+ echo ";; Local Variables:" >> $@
+ echo ";; version-control: never" >> $@
+ echo ";; no-byte-compile: t" >> $@
+ echo ";; no-update-autoloads: t" >> $@
+ echo ";; End:" >> $@
+ echo ";;; mh-loaddefs.el ends here" >> $@
+
# Prepare a bootstrap in the lisp subdirectory.
#
# Build loaddefs.el to make sure it's up-to-date. If it's not, that
# might lead to errors during the bootstrap because something fails to
# autoload as expected. If there is no emacs binary, then we can't
-# build autoloads yet. In that case we have to use ldefs-boot.el;
-# bootstrap should always work with ldefs-boot.el. (Because
-# loaddefs.el is an automatically generated file, we don't want to
-# store it in the source repository).
+# build autoloads yet. In that case we have to use ldefs-boot.el.
+# Bootstrap should always work with ldefs-boot.el. Therefore,
+# whenever a new autoload cookie gets added that is necessary during
+# bootstrapping, ldefs-boot.el should be updated by overwriting it with
+# an up-to-date copy of loaddefs.el that is uncorrupted by
+# local changes. (Because loaddefs.el is an automatically generated
+# file, we don't want to store it in the source repository).
bootstrap-prepare:
if test -x $(EMACS); then \