view lisp/Makefile.in @ 98007:883843ca3292

* verilog-mode.el (verilog-library-extensions): Enable .sv filename extensions to call verilog-mode. (verilog-auto, verilog-auto-inst, verilog-faq) (verilog-submit-bug-report): Update author support URLs. (verilog-delete-auto, verilog-auto-inout-module) (verilog-auto-inout-comp, verilog-auto): Add AUTOINOUTCOMP for creating complemented testbench modules. Suggested by Yishay Belkind. (verilog-auto-inst-port, verilog-simplify-range-expression): When verilog-auto-inst-param-value is set, don't require a AUTO_TEMPLATE to expand parameter substitutions. Suggested by Yishay Belkind. (verilog-auto-inst-param-value): Add safe variable. (verilog-re-search-forward, verilog-re-search-backward): Fix returning wrong search results on Emacs 22.1. (verilog-modi-cache-results, verilog-auto): Fix warning message about "toggling font-lock-mode." (verilog-auto): Fix loosing font-lock on errors. (verilog-auto-inst-param-value, verilog-mode-version) (verilog-mode-version-date, verilog-read-inst-param-value) (verilog-auto-inst, verilog-auto-inst-param) (verilog-auto-inst-port, verilog-simplify-range-expression): Allow parameters to be replaced with their values, on the expansion of an AUTOINST with Verilog 2001 style parameter settings. Suggested by David Rogoff. * verilog-mode.el (verilog-beg-block-re-ordered, verilog-calc-1): Better support for the property statement. Sometimes this keyword introduces a statement which requires an endproperty keyword, and sometimes it doesn't, dependening on the work before the property word. If property is prefixed with assert, assume or cover keyword, then the statement is ended with a ';' Otherwise, property is like task or specify, and is followed by some number of statements, which are ended with an endproperty keyword. (electric-verilog-tab): Support Emacs 22.2 style handling of tab in a highlighted region: indent each line in region according to mode. Supply this so it works in XEmacs and older Emacs.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 05 Sep 2008 22:13:55 +0000
parents e76bfa7f944a
children f2f918b84b99
line wrap: on
line source

# Maintenance productions for the Lisp directory
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
#   2008  Free Software Foundation, Inc.

# This file is part of GNU Emacs.

# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

SHELL = /bin/sh

lisp=@srcdir@
VPATH=@srcdir@
srcdir=@srcdir@/..

# You can specify a different executable on the make command line,
# e.g. "make EMACS=../src/emacs ...".

EMACS = ../src/emacs

# Command line flags for Emacs.  This must include --multibyte,
# otherwise some files will not compile.

EMACSOPT = -batch --no-site-file --multibyte

# Extra flags to pass to the byte compiler
BYTE_COMPILE_EXTRA_FLAGS =
# For example to not display the undefined function warnings you can use this:
# BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))'
# The example above is just for developers, it should not be used by default.

lisptagsfiles1 = $(lisp)/*.el
lisptagsfiles2 = $(lisp)/*/*.el
ETAGS = ../lib-src/etags

# Automatically generated autoload files, apart from lisp/loaddefs.el.
# Note this includes only those files that need special rules to
# build; ie it does not need to include things created via
# generated-autoload-file (eg calc/calc-loaddefs.el).
LOADDEFS = $(lisp)/calendar/cal-loaddefs.el \
	$(lisp)/calendar/diary-loaddefs.el \
	$(lisp)/calendar/hol-loaddefs.el \
	$(lisp)/mh-e/mh-loaddefs.el

# Elisp files auto-generated.
AUTOGENEL = loaddefs.el \
	$(LOADDEFS) \
	cus-load.el \
	finder-inf.el \
	subdirs.el \
	calc/calc-loaddefs.el \
	eshell/esh-groups.el

# Files to compile before others during a bootstrap.  This is done to
# speed up the bootstrap process.

COMPILE_FIRST = \
	$(lisp)/emacs-lisp/bytecomp.elc \
	$(lisp)/emacs-lisp/byte-opt.elc \
	$(lisp)/emacs-lisp/autoload.elc

# The actual Emacs command run in the targets below.

emacs = EMACSLOADPATH=$(lisp) LC_ALL=C $(EMACS) $(EMACSOPT)

# Common command to find subdirectories

setwins=subdirs=`(cd $$wd; find . -type d -print)`; \
	for file in $$subdirs; do \
	   case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* ) ;; \
		*) wins="$$wins $$wd/$$file" ;; \
	   esac; \
        done

# Find all subdirectories except `obsolete' and `term'.

setwins_almost=subdirs=`(cd $$wd; find . -type d -print)`; \
	for file in $$subdirs; do \
	   case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* | */obsolete | */term ) ;; \
		*) wins="$$wins $$wd/$$file" ;; \
	   esac; \
        done

# `compile-main' tends to be slower than `recompile' but can be parallelized
# with "make -j" and results in more deterministic compilation warnings.
# cus-load and finder-inf are not explicitly requested by anything, so
# we add them here to make sure they get built.
all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el
	@: Let us check that we byte-compiled all the files.
	$(MAKE) $(MFLAGS) compile-last EMACS=$(EMACS)

doit:

# custom-deps and finder-data both used to scan _all_ the *.el files.
# This could lead to problems in parallel builds if automatically
# generated *.el files (eg loaddefs etc) were being changed at the same time.
# One solution was to add autoloads as a prerequisite:
# http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00469.html
# http://lists.gnu.org/archive/html/bug-gnu-emacs/2007-12/msg00171.html
# However, this meant that running these targets modified loaddefs.el,
# every time (due to time-stamping).  Calling these rules from
# bootstrap-after would modify loaddefs after src/emacs, resulting
# in make install remaking src/emacs for no real reason:
# http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg00311.html
# Nowadays these commands don't scan automatically generated files,
# since they will never contain any useful information
# (see finder-no-scan-regexp and custom-dependencies-no-scan-regexp).
$(lisp)/cus-load.el:
	$(MAKE) $(MFLAGS) custom-deps
custom-deps: doit
	wd=$(lisp); $(setwins_almost); \
	echo Directories: $$wins; \
	$(emacs) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins

$(lisp)/finder-inf.el:
	$(MAKE) $(MFLAGS) finder-data
finder-data: doit
	wd=$(lisp); $(setwins_almost); \
	echo Directories: $$wins; \
	$(emacs) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins

# The chmod +w is to handle env var CVSREAD=1.  Files named
# are identified by being the value of `generated-autoload-file'.
autoloads: $(LOADDEFS) doit
	chmod +w $(lisp)/ps-print.el $(lisp)/emulation/tpu-edt.el \
	  $(lisp)/emacs-lisp/cl-loaddefs.el
	wd=$(lisp); $(setwins_almost); \
	echo Directories: $$wins; \
	$(emacs) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins

# This is required by the bootstrap-emacs target in ../src/Makefile, so
# we know that if we have an emacs executable, we also have a subdirs.el.
$(lisp)/subdirs.el:
	$(MAKE) $(MFLAGS) update-subdirs
update-subdirs: doit
	wd=$(lisp); $(setwins); \
	for file in $$wins; do \
	   $(srcdir)/update-subdirs $$file; \
	done;

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:
	$(emacs) -l authors -f batch-update-authors $(srcdir)/etc/AUTHORS $(srcdir)

TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
	els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \
	${ETAGS} -o $@ $$els

.PHONY: update-elclist

## Post-bootstrap, find the list of .elc files and use sed to update
## ELCFILES in Makefile.in.
## Errors in the final sed are non-fatal, since they have no effect on
## building Emacs.  chmod +w is for CVSREAD=1.
## "echo" is non-portable with regards to backslashes, eg between zsh
## and bash.  Hence the use of sed on line 2 below (line 1 seems to be OK).
## http://lists.gnu.org/archive/html/emacs-devel/2008-05/msg01535.html
update-elclist:
	echo "/^ELCFILES/,/^$$/c\\" > temp.sed
	echo "ELCFILES =" | sed -e 's/$$/ \\\\\\/' >> temp.sed
	LC_COLLATE=C ls $(lisp)/*.elc $(lisp)/*/*.elc | sed -e "s|^$(lisp)|	\$$(lisp)|" -e 's/$$/ \\\\\\/' -e '$$ s/ \\\\//' >> temp.sed
	echo "" >> temp.sed
	-sed -f temp.sed $(lisp)/Makefile.in > temp-elcfiles || rm temp-elcfiles
	rm temp.sed
	@test -f temp-elcfiles || echo "Maintainer warning: failed to update Makefile.in.  You can ignore this if you are not an Emacs developer."
	if test -f temp-elcfiles; then \
	  chmod +w $(lisp)/Makefile.in; \
	  mv -f temp-elcfiles $(lisp)/Makefile.in; \
	fi

## Explicitly list the .elc files, for the sake of parallel builds.
## http://lists.gnu.org/archive/html/bug-gnu-emacs/2008-05/msg00016.html
## This can probably be done more elegantly, but needs to be portable.
ELCFILES = \
	$(lisp)/abbrev.elc \
	$(lisp)/abbrevlist.elc \
	$(lisp)/add-log.elc \
	$(lisp)/align.elc \
	$(lisp)/allout.elc \
	$(lisp)/ansi-color.elc \
	$(lisp)/apropos.elc \
	$(lisp)/arc-mode.elc \
	$(lisp)/array.elc \
	$(lisp)/autoarg.elc \
	$(lisp)/autoinsert.elc \
	$(lisp)/autorevert.elc \
	$(lisp)/avoid.elc \
	$(lisp)/battery.elc \
	$(lisp)/bindings.elc \
	$(lisp)/bookmark.elc \
	$(lisp)/bs.elc \
	$(lisp)/buff-menu.elc \
	$(lisp)/button.elc \
	$(lisp)/calc/calc-aent.elc \
	$(lisp)/calc/calc-alg.elc \
	$(lisp)/calc/calc-arith.elc \
	$(lisp)/calc/calc-bin.elc \
	$(lisp)/calc/calc-comb.elc \
	$(lisp)/calc/calc-cplx.elc \
	$(lisp)/calc/calc-embed.elc \
	$(lisp)/calc/calc-ext.elc \
	$(lisp)/calc/calc-fin.elc \
	$(lisp)/calc/calc-forms.elc \
	$(lisp)/calc/calc-frac.elc \
	$(lisp)/calc/calc-funcs.elc \
	$(lisp)/calc/calc-graph.elc \
	$(lisp)/calc/calc-help.elc \
	$(lisp)/calc/calc-incom.elc \
	$(lisp)/calc/calc-keypd.elc \
	$(lisp)/calc/calc-lang.elc \
	$(lisp)/calc/calc-macs.elc \
	$(lisp)/calc/calc-map.elc \
	$(lisp)/calc/calc-math.elc \
	$(lisp)/calc/calc-menu.elc \
	$(lisp)/calc/calc-misc.elc \
	$(lisp)/calc/calc-mode.elc \
	$(lisp)/calc/calc-mtx.elc \
	$(lisp)/calc/calc-nlfit.elc \
	$(lisp)/calc/calc-poly.elc \
	$(lisp)/calc/calc-prog.elc \
	$(lisp)/calc/calc-rewr.elc \
	$(lisp)/calc/calc-rules.elc \
	$(lisp)/calc/calc-sel.elc \
	$(lisp)/calc/calc-stat.elc \
	$(lisp)/calc/calc-store.elc \
	$(lisp)/calc/calc-stuff.elc \
	$(lisp)/calc/calc-trail.elc \
	$(lisp)/calc/calc-undo.elc \
	$(lisp)/calc/calc-units.elc \
	$(lisp)/calc/calc-vec.elc \
	$(lisp)/calc/calc-yank.elc \
	$(lisp)/calc/calc.elc \
	$(lisp)/calc/calcalg2.elc \
	$(lisp)/calc/calcalg3.elc \
	$(lisp)/calc/calccomp.elc \
	$(lisp)/calc/calcsel2.elc \
	$(lisp)/calculator.elc \
	$(lisp)/calendar/appt.elc \
	$(lisp)/calendar/cal-bahai.elc \
	$(lisp)/calendar/cal-china.elc \
	$(lisp)/calendar/cal-coptic.elc \
	$(lisp)/calendar/cal-dst.elc \
	$(lisp)/calendar/cal-french.elc \
	$(lisp)/calendar/cal-hebrew.elc \
	$(lisp)/calendar/cal-html.elc \
	$(lisp)/calendar/cal-islam.elc \
	$(lisp)/calendar/cal-iso.elc \
	$(lisp)/calendar/cal-julian.elc \
	$(lisp)/calendar/cal-mayan.elc \
	$(lisp)/calendar/cal-menu.elc \
	$(lisp)/calendar/cal-move.elc \
	$(lisp)/calendar/cal-persia.elc \
	$(lisp)/calendar/cal-tex.elc \
	$(lisp)/calendar/cal-x.elc \
	$(lisp)/calendar/calendar.elc \
	$(lisp)/calendar/diary-lib.elc \
	$(lisp)/calendar/holidays.elc \
	$(lisp)/calendar/icalendar.elc \
	$(lisp)/calendar/lunar.elc \
	$(lisp)/calendar/parse-time.elc \
	$(lisp)/calendar/solar.elc \
	$(lisp)/calendar/time-date.elc \
	$(lisp)/calendar/timeclock.elc \
	$(lisp)/calendar/todo-mode.elc \
	$(lisp)/case-table.elc \
	$(lisp)/cdl.elc \
	$(lisp)/chistory.elc \
	$(lisp)/cmuscheme.elc \
	$(lisp)/comint.elc \
	$(lisp)/compare-w.elc \
	$(lisp)/complete.elc \
	$(lisp)/completion.elc \
	$(lisp)/composite.elc \
	$(lisp)/cus-dep.elc \
	$(lisp)/cus-edit.elc \
	$(lisp)/cus-face.elc \
	$(lisp)/cus-start.elc \
	$(lisp)/cus-theme.elc \
	$(lisp)/custom.elc \
	$(lisp)/cvs-status.elc \
	$(lisp)/dabbrev.elc \
	$(lisp)/delim-col.elc \
	$(lisp)/delsel.elc \
	$(lisp)/descr-text.elc \
	$(lisp)/desktop.elc \
	$(lisp)/dframe.elc \
	$(lisp)/diff-mode.elc \
	$(lisp)/diff.elc \
	$(lisp)/dired-aux.elc \
	$(lisp)/dired-x.elc \
	$(lisp)/dired.elc \
	$(lisp)/dirtrack.elc \
	$(lisp)/disp-table.elc \
	$(lisp)/dnd.elc \
	$(lisp)/doc-view.elc \
	$(lisp)/dos-fns.elc \
	$(lisp)/dos-vars.elc \
	$(lisp)/dos-w32.elc \
	$(lisp)/double.elc \
	$(lisp)/ebuff-menu.elc \
	$(lisp)/echistory.elc \
	$(lisp)/ediff-diff.elc \
	$(lisp)/ediff-help.elc \
	$(lisp)/ediff-hook.elc \
	$(lisp)/ediff-init.elc \
	$(lisp)/ediff-merg.elc \
	$(lisp)/ediff-mult.elc \
	$(lisp)/ediff-ptch.elc \
	$(lisp)/ediff-util.elc \
	$(lisp)/ediff-vers.elc \
	$(lisp)/ediff-wind.elc \
	$(lisp)/ediff.elc \
	$(lisp)/edmacro.elc \
	$(lisp)/ehelp.elc \
	$(lisp)/electric.elc \
	$(lisp)/elide-head.elc \
	$(lisp)/emacs-lisp/advice.elc \
	$(lisp)/emacs-lisp/assoc.elc \
	$(lisp)/emacs-lisp/authors.elc \
	$(lisp)/emacs-lisp/autoload.elc \
	$(lisp)/emacs-lisp/avl-tree.elc \
	$(lisp)/emacs-lisp/backquote.elc \
	$(lisp)/emacs-lisp/benchmark.elc \
	$(lisp)/emacs-lisp/bindat.elc \
	$(lisp)/emacs-lisp/byte-opt.elc \
	$(lisp)/emacs-lisp/byte-run.elc \
	$(lisp)/emacs-lisp/bytecomp.elc \
	$(lisp)/emacs-lisp/check-declare.elc \
	$(lisp)/emacs-lisp/checkdoc.elc \
	$(lisp)/emacs-lisp/cl-compat.elc \
	$(lisp)/emacs-lisp/cl-extra.elc \
	$(lisp)/emacs-lisp/cl-indent.elc \
	$(lisp)/emacs-lisp/cl-macs.elc \
	$(lisp)/emacs-lisp/cl-seq.elc \
	$(lisp)/emacs-lisp/cl.elc \
	$(lisp)/emacs-lisp/copyright.elc \
	$(lisp)/emacs-lisp/crm.elc \
	$(lisp)/emacs-lisp/cust-print.elc \
	$(lisp)/emacs-lisp/debug.elc \
	$(lisp)/emacs-lisp/derived.elc \
	$(lisp)/emacs-lisp/disass.elc \
	$(lisp)/emacs-lisp/easy-mmode.elc \
	$(lisp)/emacs-lisp/easymenu.elc \
	$(lisp)/emacs-lisp/edebug.elc \
	$(lisp)/emacs-lisp/eldoc.elc \
	$(lisp)/emacs-lisp/elint.elc \
	$(lisp)/emacs-lisp/elp.elc \
	$(lisp)/emacs-lisp/ewoc.elc \
	$(lisp)/emacs-lisp/find-func.elc \
	$(lisp)/emacs-lisp/find-gc.elc \
	$(lisp)/emacs-lisp/float-sup.elc \
	$(lisp)/emacs-lisp/generic.elc \
	$(lisp)/emacs-lisp/gulp.elc \
	$(lisp)/emacs-lisp/helper.elc \
	$(lisp)/emacs-lisp/levents.elc \
	$(lisp)/emacs-lisp/lisp-mnt.elc \
	$(lisp)/emacs-lisp/lisp-mode.elc \
	$(lisp)/emacs-lisp/lisp.elc \
	$(lisp)/emacs-lisp/lmenu.elc \
	$(lisp)/emacs-lisp/lucid.elc \
	$(lisp)/emacs-lisp/macroexp.elc \
	$(lisp)/emacs-lisp/map-ynp.elc \
	$(lisp)/emacs-lisp/pp.elc \
	$(lisp)/emacs-lisp/re-builder.elc \
	$(lisp)/emacs-lisp/regexp-opt.elc \
	$(lisp)/emacs-lisp/regi.elc \
	$(lisp)/emacs-lisp/ring.elc \
	$(lisp)/emacs-lisp/rx.elc \
	$(lisp)/emacs-lisp/shadow.elc \
	$(lisp)/emacs-lisp/sregex.elc \
	$(lisp)/emacs-lisp/syntax.elc \
	$(lisp)/emacs-lisp/tcover-ses.elc \
	$(lisp)/emacs-lisp/tcover-unsafep.elc \
	$(lisp)/emacs-lisp/testcover.elc \
	$(lisp)/emacs-lisp/timer.elc \
	$(lisp)/emacs-lisp/tq.elc \
	$(lisp)/emacs-lisp/trace.elc \
	$(lisp)/emacs-lisp/unsafep.elc \
	$(lisp)/emacs-lisp/warnings.elc \
	$(lisp)/emacs-lock.elc \
	$(lisp)/emerge.elc \
	$(lisp)/emulation/crisp.elc \
	$(lisp)/emulation/cua-base.elc \
	$(lisp)/emulation/cua-gmrk.elc \
	$(lisp)/emulation/cua-rect.elc \
	$(lisp)/emulation/edt-lk201.elc \
	$(lisp)/emulation/edt-mapper.elc \
	$(lisp)/emulation/edt-pc.elc \
	$(lisp)/emulation/edt-vt100.elc \
	$(lisp)/emulation/edt.elc \
	$(lisp)/emulation/keypad.elc \
	$(lisp)/emulation/pc-mode.elc \
	$(lisp)/emulation/pc-select.elc \
	$(lisp)/emulation/tpu-edt.elc \
	$(lisp)/emulation/tpu-extras.elc \
	$(lisp)/emulation/tpu-mapper.elc \
	$(lisp)/emulation/vi.elc \
	$(lisp)/emulation/vip.elc \
	$(lisp)/emulation/viper-cmd.elc \
	$(lisp)/emulation/viper-ex.elc \
	$(lisp)/emulation/viper-init.elc \
	$(lisp)/emulation/viper-keym.elc \
	$(lisp)/emulation/viper-macs.elc \
	$(lisp)/emulation/viper-mous.elc \
	$(lisp)/emulation/viper-util.elc \
	$(lisp)/emulation/viper.elc \
	$(lisp)/emulation/ws-mode.elc \
	$(lisp)/env.elc \
	$(lisp)/epa-dired.elc \
	$(lisp)/epa-file.elc \
	$(lisp)/epa-hook.elc \
	$(lisp)/epa-mail.elc \
	$(lisp)/epa.elc \
	$(lisp)/epg-config.elc \
	$(lisp)/epg.elc \
	$(lisp)/erc/erc-autoaway.elc \
	$(lisp)/erc/erc-backend.elc \
	$(lisp)/erc/erc-button.elc \
	$(lisp)/erc/erc-capab.elc \
	$(lisp)/erc/erc-compat.elc \
	$(lisp)/erc/erc-dcc.elc \
	$(lisp)/erc/erc-ezbounce.elc \
	$(lisp)/erc/erc-fill.elc \
	$(lisp)/erc/erc-goodies.elc \
	$(lisp)/erc/erc-hecomplete.elc \
	$(lisp)/erc/erc-ibuffer.elc \
	$(lisp)/erc/erc-identd.elc \
	$(lisp)/erc/erc-imenu.elc \
	$(lisp)/erc/erc-join.elc \
	$(lisp)/erc/erc-lang.elc \
	$(lisp)/erc/erc-list.elc \
	$(lisp)/erc/erc-log.elc \
	$(lisp)/erc/erc-match.elc \
	$(lisp)/erc/erc-menu.elc \
	$(lisp)/erc/erc-netsplit.elc \
	$(lisp)/erc/erc-networks.elc \
	$(lisp)/erc/erc-notify.elc \
	$(lisp)/erc/erc-page.elc \
	$(lisp)/erc/erc-pcomplete.elc \
	$(lisp)/erc/erc-replace.elc \
	$(lisp)/erc/erc-ring.elc \
	$(lisp)/erc/erc-services.elc \
	$(lisp)/erc/erc-sound.elc \
	$(lisp)/erc/erc-speedbar.elc \
	$(lisp)/erc/erc-spelling.elc \
	$(lisp)/erc/erc-stamp.elc \
	$(lisp)/erc/erc-track.elc \
	$(lisp)/erc/erc-truncate.elc \
	$(lisp)/erc/erc-xdcc.elc \
	$(lisp)/erc/erc.elc \
	$(lisp)/eshell/em-alias.elc \
	$(lisp)/eshell/em-banner.elc \
	$(lisp)/eshell/em-basic.elc \
	$(lisp)/eshell/em-cmpl.elc \
	$(lisp)/eshell/em-dirs.elc \
	$(lisp)/eshell/em-glob.elc \
	$(lisp)/eshell/em-hist.elc \
	$(lisp)/eshell/em-ls.elc \
	$(lisp)/eshell/em-pred.elc \
	$(lisp)/eshell/em-prompt.elc \
	$(lisp)/eshell/em-rebind.elc \
	$(lisp)/eshell/em-script.elc \
	$(lisp)/eshell/em-smart.elc \
	$(lisp)/eshell/em-term.elc \
	$(lisp)/eshell/em-unix.elc \
	$(lisp)/eshell/em-xtra.elc \
	$(lisp)/eshell/esh-arg.elc \
	$(lisp)/eshell/esh-cmd.elc \
	$(lisp)/eshell/esh-ext.elc \
	$(lisp)/eshell/esh-io.elc \
	$(lisp)/eshell/esh-mode.elc \
	$(lisp)/eshell/esh-module.elc \
	$(lisp)/eshell/esh-opt.elc \
	$(lisp)/eshell/esh-proc.elc \
	$(lisp)/eshell/esh-test.elc \
	$(lisp)/eshell/esh-util.elc \
	$(lisp)/eshell/esh-var.elc \
	$(lisp)/eshell/eshell.elc \
	$(lisp)/expand.elc \
	$(lisp)/ezimage.elc \
	$(lisp)/face-remap.elc \
	$(lisp)/facemenu.elc \
	$(lisp)/faces.elc \
	$(lisp)/ffap.elc \
	$(lisp)/filecache.elc \
	$(lisp)/files.elc \
	$(lisp)/filesets.elc \
	$(lisp)/find-cmd.elc \
	$(lisp)/find-dired.elc \
	$(lisp)/find-file.elc \
	$(lisp)/find-lisp.elc \
	$(lisp)/finder.elc \
	$(lisp)/flow-ctrl.elc \
	$(lisp)/foldout.elc \
	$(lisp)/follow.elc \
	$(lisp)/font-core.elc \
	$(lisp)/font-lock.elc \
	$(lisp)/format-spec.elc \
	$(lisp)/format.elc \
	$(lisp)/forms.elc \
	$(lisp)/frame.elc \
	$(lisp)/fringe.elc \
	$(lisp)/generic-x.elc \
	$(lisp)/gnus/auth-source.elc \
	$(lisp)/gnus/canlock.elc \
	$(lisp)/gnus/compface.elc \
	$(lisp)/gnus/deuglify.elc \
	$(lisp)/gnus/earcon.elc \
	$(lisp)/gnus/ecomplete.elc \
	$(lisp)/gnus/flow-fill.elc \
	$(lisp)/gnus/gmm-utils.elc \
	$(lisp)/gnus/gnus-agent.elc \
	$(lisp)/gnus/gnus-art.elc \
	$(lisp)/gnus/gnus-async.elc \
	$(lisp)/gnus/gnus-audio.elc \
	$(lisp)/gnus/gnus-bcklg.elc \
	$(lisp)/gnus/gnus-bookmark.elc \
	$(lisp)/gnus/gnus-cache.elc \
	$(lisp)/gnus/gnus-cite.elc \
	$(lisp)/gnus/gnus-cus.elc \
	$(lisp)/gnus/gnus-delay.elc \
	$(lisp)/gnus/gnus-demon.elc \
	$(lisp)/gnus/gnus-diary.elc \
	$(lisp)/gnus/gnus-dired.elc \
	$(lisp)/gnus/gnus-draft.elc \
	$(lisp)/gnus/gnus-dup.elc \
	$(lisp)/gnus/gnus-eform.elc \
	$(lisp)/gnus/gnus-ems.elc \
	$(lisp)/gnus/gnus-fun.elc \
	$(lisp)/gnus/gnus-group.elc \
	$(lisp)/gnus/gnus-int.elc \
	$(lisp)/gnus/gnus-kill.elc \
	$(lisp)/gnus/gnus-logic.elc \
	$(lisp)/gnus/gnus-mh.elc \
	$(lisp)/gnus/gnus-ml.elc \
	$(lisp)/gnus/gnus-mlspl.elc \
	$(lisp)/gnus/gnus-move.elc \
	$(lisp)/gnus/gnus-msg.elc \
	$(lisp)/gnus/gnus-nocem.elc \
	$(lisp)/gnus/gnus-picon.elc \
	$(lisp)/gnus/gnus-range.elc \
	$(lisp)/gnus/gnus-registry.elc \
	$(lisp)/gnus/gnus-salt.elc \
	$(lisp)/gnus/gnus-score.elc \
	$(lisp)/gnus/gnus-setup.elc \
	$(lisp)/gnus/gnus-sieve.elc \
	$(lisp)/gnus/gnus-soup.elc \
	$(lisp)/gnus/gnus-spec.elc \
	$(lisp)/gnus/gnus-srvr.elc \
	$(lisp)/gnus/gnus-start.elc \
	$(lisp)/gnus/gnus-sum.elc \
	$(lisp)/gnus/gnus-topic.elc \
	$(lisp)/gnus/gnus-undo.elc \
	$(lisp)/gnus/gnus-util.elc \
	$(lisp)/gnus/gnus-uu.elc \
	$(lisp)/gnus/gnus-vm.elc \
	$(lisp)/gnus/gnus-win.elc \
	$(lisp)/gnus/gnus.elc \
	$(lisp)/gnus/html2text.elc \
	$(lisp)/gnus/ietf-drums.elc \
	$(lisp)/gnus/legacy-gnus-agent.elc \
	$(lisp)/gnus/mail-parse.elc \
	$(lisp)/gnus/mail-prsvr.elc \
	$(lisp)/gnus/mail-source.elc \
	$(lisp)/gnus/mailcap.elc \
	$(lisp)/gnus/message.elc \
	$(lisp)/gnus/messcompat.elc \
	$(lisp)/gnus/mm-bodies.elc \
	$(lisp)/gnus/mm-decode.elc \
	$(lisp)/gnus/mm-encode.elc \
	$(lisp)/gnus/mm-extern.elc \
	$(lisp)/gnus/mm-partial.elc \
	$(lisp)/gnus/mm-url.elc \
	$(lisp)/gnus/mm-util.elc \
	$(lisp)/gnus/mm-uu.elc \
	$(lisp)/gnus/mm-view.elc \
	$(lisp)/gnus/mml-sec.elc \
	$(lisp)/gnus/mml-smime.elc \
	$(lisp)/gnus/mml.elc \
	$(lisp)/gnus/mml1991.elc \
	$(lisp)/gnus/mml2015.elc \
	$(lisp)/gnus/nnagent.elc \
	$(lisp)/gnus/nnbabyl.elc \
	$(lisp)/gnus/nndb.elc \
	$(lisp)/gnus/nndiary.elc \
	$(lisp)/gnus/nndir.elc \
	$(lisp)/gnus/nndoc.elc \
	$(lisp)/gnus/nndraft.elc \
	$(lisp)/gnus/nneething.elc \
	$(lisp)/gnus/nnfolder.elc \
	$(lisp)/gnus/nngateway.elc \
	$(lisp)/gnus/nnheader.elc \
	$(lisp)/gnus/nnimap.elc \
	$(lisp)/gnus/nnir.elc \
	$(lisp)/gnus/nnkiboze.elc \
	$(lisp)/gnus/nnlistserv.elc \
	$(lisp)/gnus/nnmail.elc \
	$(lisp)/gnus/nnmaildir.elc \
	$(lisp)/gnus/nnmairix.elc \
	$(lisp)/gnus/nnmbox.elc \
	$(lisp)/gnus/nnmh.elc \
	$(lisp)/gnus/nnml.elc \
	$(lisp)/gnus/nnnil.elc \
	$(lisp)/gnus/nnoo.elc \
	$(lisp)/gnus/nnrss.elc \
	$(lisp)/gnus/nnslashdot.elc \
	$(lisp)/gnus/nnsoup.elc \
	$(lisp)/gnus/nnspool.elc \
	$(lisp)/gnus/nntp.elc \
	$(lisp)/gnus/nnultimate.elc \
	$(lisp)/gnus/nnvirtual.elc \
	$(lisp)/gnus/nnwarchive.elc \
	$(lisp)/gnus/nnweb.elc \
	$(lisp)/gnus/nnwfm.elc \
	$(lisp)/gnus/pop3.elc \
	$(lisp)/gnus/qp.elc \
	$(lisp)/gnus/rfc1843.elc \
	$(lisp)/gnus/rfc2045.elc \
	$(lisp)/gnus/rfc2047.elc \
	$(lisp)/gnus/rfc2104.elc \
	$(lisp)/gnus/rfc2231.elc \
	$(lisp)/gnus/score-mode.elc \
	$(lisp)/gnus/sieve-manage.elc \
	$(lisp)/gnus/sieve-mode.elc \
	$(lisp)/gnus/sieve.elc \
	$(lisp)/gnus/smiley.elc \
	$(lisp)/gnus/smime.elc \
	$(lisp)/gnus/spam-report.elc \
	$(lisp)/gnus/spam-stat.elc \
	$(lisp)/gnus/spam-wash.elc \
	$(lisp)/gnus/spam.elc \
	$(lisp)/gnus/starttls.elc \
	$(lisp)/gnus/utf7.elc \
	$(lisp)/gnus/webmail.elc \
	$(lisp)/gnus/yenc.elc \
	$(lisp)/gs.elc \
	$(lisp)/help-at-pt.elc \
	$(lisp)/help-fns.elc \
	$(lisp)/help-macro.elc \
	$(lisp)/help-mode.elc \
	$(lisp)/help.elc \
	$(lisp)/hex-util.elc \
	$(lisp)/hexl.elc \
	$(lisp)/hi-lock.elc \
	$(lisp)/hilit-chg.elc \
	$(lisp)/hippie-exp.elc \
	$(lisp)/hl-line.elc \
	$(lisp)/ibuf-ext.elc \
	$(lisp)/ibuf-macs.elc \
	$(lisp)/ibuffer.elc \
	$(lisp)/icomplete.elc \
	$(lisp)/ido.elc \
	$(lisp)/ielm.elc \
	$(lisp)/iimage.elc \
	$(lisp)/image-dired.elc \
	$(lisp)/image-file.elc \
	$(lisp)/image-mode.elc \
	$(lisp)/image.elc \
	$(lisp)/imenu.elc \
	$(lisp)/indent.elc \
	$(lisp)/info-look.elc \
	$(lisp)/info-xref.elc \
	$(lisp)/info.elc \
	$(lisp)/informat.elc \
	$(lisp)/international/ccl.elc \
	$(lisp)/international/characters.elc \
	$(lisp)/international/codepage.elc \
	$(lisp)/international/encoded-kb.elc \
	$(lisp)/international/fontset.elc \
	$(lisp)/international/isearch-x.elc \
	$(lisp)/international/iso-ascii.elc \
	$(lisp)/international/iso-cvt.elc \
	$(lisp)/international/iso-transl.elc \
	$(lisp)/international/ja-dic-cnv.elc \
	$(lisp)/international/ja-dic-utl.elc \
	$(lisp)/international/kinsoku.elc \
	$(lisp)/international/kkc.elc \
	$(lisp)/international/latexenc.elc \
	$(lisp)/international/latin1-disp.elc \
	$(lisp)/international/mule-cmds.elc \
	$(lisp)/international/mule-diag.elc \
	$(lisp)/international/mule-util.elc \
	$(lisp)/international/mule.elc \
	$(lisp)/international/ogonek.elc \
	$(lisp)/international/quail.elc \
	$(lisp)/international/robin.elc \
	$(lisp)/international/titdic-cnv.elc \
	$(lisp)/international/utf-7.elc \
	$(lisp)/isearch.elc \
	$(lisp)/isearchb.elc \
	$(lisp)/iswitchb.elc \
	$(lisp)/jit-lock.elc \
	$(lisp)/jka-cmpr-hook.elc \
	$(lisp)/jka-compr.elc \
	$(lisp)/json.elc \
	$(lisp)/kermit.elc \
	$(lisp)/kmacro.elc \
	$(lisp)/language/china-util.elc \
	$(lisp)/language/chinese.elc \
	$(lisp)/language/cyril-util.elc \
	$(lisp)/language/cyrillic.elc \
	$(lisp)/language/ethio-util.elc \
	$(lisp)/language/ethiopic.elc \
	$(lisp)/language/european.elc \
	$(lisp)/language/hanja-util.elc \
	$(lisp)/language/ind-util.elc \
	$(lisp)/language/indian.elc \
	$(lisp)/language/japan-util.elc \
	$(lisp)/language/korea-util.elc \
	$(lisp)/language/lao-util.elc \
	$(lisp)/language/thai-util.elc \
	$(lisp)/language/thai-word.elc \
	$(lisp)/language/tibet-util.elc \
	$(lisp)/language/tibetan.elc \
	$(lisp)/language/tv-util.elc \
	$(lisp)/language/viet-util.elc \
	$(lisp)/language/vietnamese.elc \
	$(lisp)/ledit.elc \
	$(lisp)/linum.elc \
	$(lisp)/loadhist.elc \
	$(lisp)/locate.elc \
	$(lisp)/log-edit.elc \
	$(lisp)/log-view.elc \
	$(lisp)/longlines.elc \
	$(lisp)/lpr.elc \
	$(lisp)/ls-lisp.elc \
	$(lisp)/macros.elc \
	$(lisp)/mail/binhex.elc \
	$(lisp)/mail/emacsbug.elc \
	$(lisp)/mail/feedmail.elc \
	$(lisp)/mail/footnote.elc \
	$(lisp)/mail/hashcash.elc \
	$(lisp)/mail/mail-extr.elc \
	$(lisp)/mail/mail-hist.elc \
	$(lisp)/mail/mail-utils.elc \
	$(lisp)/mail/mailabbrev.elc \
	$(lisp)/mail/mailalias.elc \
	$(lisp)/mail/mailclient.elc \
	$(lisp)/mail/mailheader.elc \
	$(lisp)/mail/mailpost.elc \
	$(lisp)/mail/metamail.elc \
	$(lisp)/mail/mspools.elc \
	$(lisp)/mail/reporter.elc \
	$(lisp)/mail/rfc2368.elc \
	$(lisp)/mail/rfc822.elc \
	$(lisp)/mail/rmail-spam-filter.elc \
	$(lisp)/mail/rmail.elc \
	$(lisp)/mail/rmailedit.elc \
	$(lisp)/mail/rmailkwd.elc \
	$(lisp)/mail/rmailmsc.elc \
	$(lisp)/mail/rmailout.elc \
	$(lisp)/mail/rmailsort.elc \
	$(lisp)/mail/rmailsum.elc \
	$(lisp)/mail/sendmail.elc \
	$(lisp)/mail/smtpmail.elc \
	$(lisp)/mail/supercite.elc \
	$(lisp)/mail/uce.elc \
	$(lisp)/mail/undigest.elc \
	$(lisp)/mail/unrmail.elc \
	$(lisp)/mail/uudecode.elc \
	$(lisp)/makesum.elc \
	$(lisp)/man.elc \
	$(lisp)/master.elc \
	$(lisp)/mb-depth.elc \
	$(lisp)/md4.elc \
	$(lisp)/menu-bar.elc \
	$(lisp)/mh-e/mh-alias.elc \
	$(lisp)/mh-e/mh-buffers.elc \
	$(lisp)/mh-e/mh-comp.elc \
	$(lisp)/mh-e/mh-e.elc \
	$(lisp)/mh-e/mh-folder.elc \
	$(lisp)/mh-e/mh-funcs.elc \
	$(lisp)/mh-e/mh-identity.elc \
	$(lisp)/mh-e/mh-inc.elc \
	$(lisp)/mh-e/mh-junk.elc \
	$(lisp)/mh-e/mh-letter.elc \
	$(lisp)/mh-e/mh-limit.elc \
	$(lisp)/mh-e/mh-mime.elc \
	$(lisp)/mh-e/mh-print.elc \
	$(lisp)/mh-e/mh-scan.elc \
	$(lisp)/mh-e/mh-search.elc \
	$(lisp)/mh-e/mh-seq.elc \
	$(lisp)/mh-e/mh-show.elc \
	$(lisp)/mh-e/mh-speed.elc \
	$(lisp)/mh-e/mh-thread.elc \
	$(lisp)/mh-e/mh-tool-bar.elc \
	$(lisp)/mh-e/mh-utils.elc \
	$(lisp)/mh-e/mh-xface.elc \
	$(lisp)/midnight.elc \
	$(lisp)/minibuf-eldef.elc \
	$(lisp)/minibuffer.elc \
	$(lisp)/misc.elc \
	$(lisp)/misearch.elc \
	$(lisp)/mouse-copy.elc \
	$(lisp)/mouse-drag.elc \
	$(lisp)/mouse-sel.elc \
	$(lisp)/mouse.elc \
	$(lisp)/msb.elc \
	$(lisp)/mwheel.elc \
	$(lisp)/net/ange-ftp.elc \
	$(lisp)/net/browse-url.elc \
	$(lisp)/net/dbus.elc \
	$(lisp)/net/dig.elc \
	$(lisp)/net/dns.elc \
	$(lisp)/net/eudc-bob.elc \
	$(lisp)/net/eudc-export.elc \
	$(lisp)/net/eudc-hotlist.elc \
	$(lisp)/net/eudc-vars.elc \
	$(lisp)/net/eudc.elc \
	$(lisp)/net/eudcb-bbdb.elc \
	$(lisp)/net/eudcb-ldap.elc \
	$(lisp)/net/eudcb-mab.elc \
	$(lisp)/net/eudcb-ph.elc \
	$(lisp)/net/goto-addr.elc \
	$(lisp)/net/hmac-def.elc \
	$(lisp)/net/hmac-md5.elc \
	$(lisp)/net/imap.elc \
	$(lisp)/net/ldap.elc \
	$(lisp)/net/mairix.elc \
	$(lisp)/net/net-utils.elc \
	$(lisp)/net/netrc.elc \
	$(lisp)/net/newst-backend.elc \
	$(lisp)/net/newst-plainview.elc \
	$(lisp)/net/newst-reader.elc \
	$(lisp)/net/newst-ticker.elc \
	$(lisp)/net/newst-treeview.elc \
	$(lisp)/net/newsticker.elc \
	$(lisp)/net/ntlm.elc \
	$(lisp)/net/quickurl.elc \
	$(lisp)/net/rcirc.elc \
	$(lisp)/net/rcompile.elc \
	$(lisp)/net/rlogin.elc \
	$(lisp)/net/sasl-cram.elc \
	$(lisp)/net/sasl-digest.elc \
	$(lisp)/net/sasl-ntlm.elc \
	$(lisp)/net/sasl.elc \
	$(lisp)/net/snmp-mode.elc \
	$(lisp)/net/socks.elc \
	$(lisp)/net/telnet.elc \
	$(lisp)/net/tls.elc \
	$(lisp)/net/tramp-cache.elc \
	$(lisp)/net/tramp-cmds.elc \
	$(lisp)/net/tramp-compat.elc \
	$(lisp)/net/tramp-fish.elc \
	$(lisp)/net/tramp-ftp.elc \
	$(lisp)/net/tramp-gw.elc \
	$(lisp)/net/tramp-smb.elc \
	$(lisp)/net/tramp-uu.elc \
	$(lisp)/net/tramp.elc \
	$(lisp)/net/trampver.elc \
	$(lisp)/net/webjump.elc \
	$(lisp)/net/xesam.elc \
	$(lisp)/net/zeroconf.elc \
	$(lisp)/newcomment.elc \
	$(lisp)/novice.elc \
	$(lisp)/nxml/nxml-enc.elc \
	$(lisp)/nxml/nxml-glyph.elc \
	$(lisp)/nxml/nxml-maint.elc \
	$(lisp)/nxml/nxml-mode.elc \
	$(lisp)/nxml/nxml-ns.elc \
	$(lisp)/nxml/nxml-outln.elc \
	$(lisp)/nxml/nxml-parse.elc \
	$(lisp)/nxml/nxml-rap.elc \
	$(lisp)/nxml/nxml-uchnm.elc \
	$(lisp)/nxml/nxml-util.elc \
	$(lisp)/nxml/rng-cmpct.elc \
	$(lisp)/nxml/rng-dt.elc \
	$(lisp)/nxml/rng-loc.elc \
	$(lisp)/nxml/rng-maint.elc \
	$(lisp)/nxml/rng-match.elc \
	$(lisp)/nxml/rng-nxml.elc \
	$(lisp)/nxml/rng-parse.elc \
	$(lisp)/nxml/rng-pttrn.elc \
	$(lisp)/nxml/rng-uri.elc \
	$(lisp)/nxml/rng-util.elc \
	$(lisp)/nxml/rng-valid.elc \
	$(lisp)/nxml/rng-xsd.elc \
	$(lisp)/nxml/xmltok.elc \
	$(lisp)/nxml/xsd-regexp.elc \
	$(lisp)/obsolete/awk-mode.elc \
	$(lisp)/obsolete/fast-lock.elc \
	$(lisp)/obsolete/iso-acc.elc \
	$(lisp)/obsolete/iso-insert.elc \
	$(lisp)/obsolete/iso-swed.elc \
	$(lisp)/obsolete/lazy-lock.elc \
	$(lisp)/obsolete/old-whitespace.elc \
	$(lisp)/obsolete/options.elc \
	$(lisp)/obsolete/rnews.elc \
	$(lisp)/obsolete/rnewspost.elc \
	$(lisp)/obsolete/sc.elc \
	$(lisp)/obsolete/scribe.elc \
	$(lisp)/obsolete/swedish.elc \
	$(lisp)/obsolete/x-menu.elc \
	$(lisp)/org/org-agenda.elc \
	$(lisp)/org/org-archive.elc \
	$(lisp)/org/org-bbdb.elc \
	$(lisp)/org/org-bibtex.elc \
	$(lisp)/org/org-clock.elc \
	$(lisp)/org/org-colview.elc \
	$(lisp)/org/org-compat.elc \
	$(lisp)/org/org-exp.elc \
	$(lisp)/org/org-export-latex.elc \
	$(lisp)/org/org-faces.elc \
	$(lisp)/org/org-gnus.elc \
	$(lisp)/org/org-id.elc \
	$(lisp)/org/org-info.elc \
	$(lisp)/org/org-install.elc \
	$(lisp)/org/org-irc.elc \
	$(lisp)/org/org-jsinfo.elc \
	$(lisp)/org/org-mac-message.elc \
	$(lisp)/org/org-macs.elc \
	$(lisp)/org/org-mew.elc \
	$(lisp)/org/org-mhe.elc \
	$(lisp)/org/org-mouse.elc \
	$(lisp)/org/org-publish.elc \
	$(lisp)/org/org-remember.elc \
	$(lisp)/org/org-rmail.elc \
	$(lisp)/org/org-table.elc \
	$(lisp)/org/org-vm.elc \
	$(lisp)/org/org-wl.elc \
	$(lisp)/org/org.elc \
	$(lisp)/outline.elc \
	$(lisp)/paren.elc \
	$(lisp)/password-cache.elc \
	$(lisp)/pcmpl-cvs.elc \
	$(lisp)/pcmpl-gnu.elc \
	$(lisp)/pcmpl-linux.elc \
	$(lisp)/pcmpl-rpm.elc \
	$(lisp)/pcmpl-unix.elc \
	$(lisp)/pcomplete.elc \
	$(lisp)/pcvs-defs.elc \
	$(lisp)/pcvs-info.elc \
	$(lisp)/pcvs-parse.elc \
	$(lisp)/pcvs-util.elc \
	$(lisp)/pcvs.elc \
	$(lisp)/pgg-def.elc \
	$(lisp)/pgg-gpg.elc \
	$(lisp)/pgg-parse.elc \
	$(lisp)/pgg-pgp.elc \
	$(lisp)/pgg-pgp5.elc \
	$(lisp)/pgg.elc \
	$(lisp)/play/5x5.elc \
	$(lisp)/play/animate.elc \
	$(lisp)/play/blackbox.elc \
	$(lisp)/play/bubbles.elc \
	$(lisp)/play/cookie1.elc \
	$(lisp)/play/decipher.elc \
	$(lisp)/play/dissociate.elc \
	$(lisp)/play/doctor.elc \
	$(lisp)/play/dunnet.elc \
	$(lisp)/play/fortune.elc \
	$(lisp)/play/gamegrid.elc \
	$(lisp)/play/gametree.elc \
	$(lisp)/play/gomoku.elc \
	$(lisp)/play/handwrite.elc \
	$(lisp)/play/hanoi.elc \
	$(lisp)/play/landmark.elc \
	$(lisp)/play/life.elc \
	$(lisp)/play/meese.elc \
	$(lisp)/play/morse.elc \
	$(lisp)/play/mpuz.elc \
	$(lisp)/play/pong.elc \
	$(lisp)/play/snake.elc \
	$(lisp)/play/solitaire.elc \
	$(lisp)/play/spook.elc \
	$(lisp)/play/studly.elc \
	$(lisp)/play/tetris.elc \
	$(lisp)/play/yow.elc \
	$(lisp)/play/zone.elc \
	$(lisp)/printing.elc \
	$(lisp)/proced.elc \
	$(lisp)/progmodes/ada-mode.elc \
	$(lisp)/progmodes/ada-prj.elc \
	$(lisp)/progmodes/ada-stmt.elc \
	$(lisp)/progmodes/ada-xref.elc \
	$(lisp)/progmodes/antlr-mode.elc \
	$(lisp)/progmodes/asm-mode.elc \
	$(lisp)/progmodes/autoconf.elc \
	$(lisp)/progmodes/bug-reference.elc \
	$(lisp)/progmodes/cap-words.elc \
	$(lisp)/progmodes/cc-align.elc \
	$(lisp)/progmodes/cc-awk.elc \
	$(lisp)/progmodes/cc-bytecomp.elc \
	$(lisp)/progmodes/cc-cmds.elc \
	$(lisp)/progmodes/cc-compat.elc \
	$(lisp)/progmodes/cc-defs.elc \
	$(lisp)/progmodes/cc-engine.elc \
	$(lisp)/progmodes/cc-fonts.elc \
	$(lisp)/progmodes/cc-langs.elc \
	$(lisp)/progmodes/cc-menus.elc \
	$(lisp)/progmodes/cc-mode.elc \
	$(lisp)/progmodes/cc-styles.elc \
	$(lisp)/progmodes/cc-subword.elc \
	$(lisp)/progmodes/cc-vars.elc \
	$(lisp)/progmodes/cfengine.elc \
	$(lisp)/progmodes/cmacexp.elc \
	$(lisp)/progmodes/compile.elc \
	$(lisp)/progmodes/cperl-mode.elc \
	$(lisp)/progmodes/cpp.elc \
	$(lisp)/progmodes/cwarn.elc \
	$(lisp)/progmodes/dcl-mode.elc \
	$(lisp)/progmodes/delphi.elc \
	$(lisp)/progmodes/ebnf-abn.elc \
	$(lisp)/progmodes/ebnf-bnf.elc \
	$(lisp)/progmodes/ebnf-dtd.elc \
	$(lisp)/progmodes/ebnf-ebx.elc \
	$(lisp)/progmodes/ebnf-iso.elc \
	$(lisp)/progmodes/ebnf-otz.elc \
	$(lisp)/progmodes/ebnf-yac.elc \
	$(lisp)/progmodes/ebnf2ps.elc \
	$(lisp)/progmodes/ebrowse.elc \
	$(lisp)/progmodes/etags.elc \
	$(lisp)/progmodes/executable.elc \
	$(lisp)/progmodes/f90.elc \
	$(lisp)/progmodes/flymake.elc \
	$(lisp)/progmodes/fortran.elc \
	$(lisp)/progmodes/gdb-ui.elc \
	$(lisp)/progmodes/glasses.elc \
	$(lisp)/progmodes/grep.elc \
	$(lisp)/progmodes/gud.elc \
	$(lisp)/progmodes/hideif.elc \
	$(lisp)/progmodes/hideshow.elc \
	$(lisp)/progmodes/icon.elc \
	$(lisp)/progmodes/idlw-complete-structtag.elc \
	$(lisp)/progmodes/idlw-help.elc \
	$(lisp)/progmodes/idlw-shell.elc \
	$(lisp)/progmodes/idlw-toolbar.elc \
	$(lisp)/progmodes/idlwave.elc \
	$(lisp)/progmodes/inf-lisp.elc \
	$(lisp)/progmodes/ld-script.elc \
	$(lisp)/progmodes/m4-mode.elc \
	$(lisp)/progmodes/make-mode.elc \
	$(lisp)/progmodes/mantemp.elc \
	$(lisp)/progmodes/meta-mode.elc \
	$(lisp)/progmodes/mixal-mode.elc \
	$(lisp)/progmodes/modula2.elc \
	$(lisp)/progmodes/octave-inf.elc \
	$(lisp)/progmodes/octave-mod.elc \
	$(lisp)/progmodes/pascal.elc \
	$(lisp)/progmodes/perl-mode.elc \
	$(lisp)/progmodes/prolog.elc \
	$(lisp)/progmodes/ps-mode.elc \
	$(lisp)/progmodes/python.elc \
	$(lisp)/progmodes/scheme.elc \
	$(lisp)/progmodes/sh-script.elc \
	$(lisp)/progmodes/simula.elc \
	$(lisp)/progmodes/sql.elc \
	$(lisp)/progmodes/sym-comp.elc \
	$(lisp)/progmodes/tcl.elc \
	$(lisp)/progmodes/vera-mode.elc \
	$(lisp)/progmodes/verilog-mode.elc \
	$(lisp)/progmodes/vhdl-mode.elc \
	$(lisp)/progmodes/which-func.elc \
	$(lisp)/progmodes/xscheme.elc \
	$(lisp)/ps-bdf.elc \
	$(lisp)/ps-def.elc \
	$(lisp)/ps-mule.elc \
	$(lisp)/ps-print.elc \
	$(lisp)/ps-samp.elc \
	$(lisp)/recentf.elc \
	$(lisp)/rect.elc \
	$(lisp)/register.elc \
	$(lisp)/repeat.elc \
	$(lisp)/replace.elc \
	$(lisp)/reposition.elc \
	$(lisp)/resume.elc \
	$(lisp)/reveal.elc \
	$(lisp)/rfn-eshadow.elc \
	$(lisp)/rot13.elc \
	$(lisp)/ruler-mode.elc \
	$(lisp)/s-region.elc \
	$(lisp)/savehist.elc \
	$(lisp)/saveplace.elc \
	$(lisp)/sb-image.elc \
	$(lisp)/scroll-all.elc \
	$(lisp)/scroll-bar.elc \
	$(lisp)/scroll-lock.elc \
	$(lisp)/select.elc \
	$(lisp)/server.elc \
	$(lisp)/ses.elc \
	$(lisp)/sha1.elc \
	$(lisp)/shadowfile.elc \
	$(lisp)/shell.elc \
	$(lisp)/simple.elc \
	$(lisp)/skeleton.elc \
	$(lisp)/smerge-mode.elc \
	$(lisp)/sort.elc \
	$(lisp)/soundex.elc \
	$(lisp)/speedbar.elc \
	$(lisp)/startup.elc \
	$(lisp)/strokes.elc \
	$(lisp)/subr.elc \
	$(lisp)/t-mouse.elc \
	$(lisp)/tabify.elc \
	$(lisp)/talk.elc \
	$(lisp)/tar-mode.elc \
	$(lisp)/tempo.elc \
	$(lisp)/term.elc \
	$(lisp)/term/common-win.elc \
	$(lisp)/term/ns-win.elc \
	$(lisp)/term/pc-win.elc \
	$(lisp)/term/rxvt.elc \
	$(lisp)/term/sun.elc \
	$(lisp)/term/sup-mouse.elc \
	$(lisp)/term/tty-colors.elc \
	$(lisp)/term/tvi970.elc \
	$(lisp)/term/vt100.elc \
	$(lisp)/term/w32-win.elc \
	$(lisp)/term/w32console.elc \
	$(lisp)/term/x-win.elc \
	$(lisp)/term/xterm.elc \
	$(lisp)/terminal.elc \
	$(lisp)/textmodes/artist.elc \
	$(lisp)/textmodes/bib-mode.elc \
	$(lisp)/textmodes/bibtex-style.elc \
	$(lisp)/textmodes/bibtex.elc \
	$(lisp)/textmodes/conf-mode.elc \
	$(lisp)/textmodes/css-mode.elc \
	$(lisp)/textmodes/dns-mode.elc \
	$(lisp)/textmodes/enriched.elc \
	$(lisp)/textmodes/fill.elc \
	$(lisp)/textmodes/flyspell.elc \
	$(lisp)/textmodes/ispell.elc \
	$(lisp)/textmodes/makeinfo.elc \
	$(lisp)/textmodes/nroff-mode.elc \
	$(lisp)/textmodes/page-ext.elc \
	$(lisp)/textmodes/page.elc \
	$(lisp)/textmodes/paragraphs.elc \
	$(lisp)/textmodes/picture.elc \
	$(lisp)/textmodes/po.elc \
	$(lisp)/textmodes/refbib.elc \
	$(lisp)/textmodes/refer.elc \
	$(lisp)/textmodes/refill.elc \
	$(lisp)/textmodes/reftex-auc.elc \
	$(lisp)/textmodes/reftex-cite.elc \
	$(lisp)/textmodes/reftex-dcr.elc \
	$(lisp)/textmodes/reftex-global.elc \
	$(lisp)/textmodes/reftex-index.elc \
	$(lisp)/textmodes/reftex-parse.elc \
	$(lisp)/textmodes/reftex-ref.elc \
	$(lisp)/textmodes/reftex-sel.elc \
	$(lisp)/textmodes/reftex-toc.elc \
	$(lisp)/textmodes/reftex-vars.elc \
	$(lisp)/textmodes/reftex.elc \
	$(lisp)/textmodes/remember.elc \
	$(lisp)/textmodes/rst.elc \
	$(lisp)/textmodes/sgml-mode.elc \
	$(lisp)/textmodes/spell.elc \
	$(lisp)/textmodes/table.elc \
	$(lisp)/textmodes/tex-mode.elc \
	$(lisp)/textmodes/texinfmt.elc \
	$(lisp)/textmodes/texinfo.elc \
	$(lisp)/textmodes/texnfo-upd.elc \
	$(lisp)/textmodes/text-mode.elc \
	$(lisp)/textmodes/tildify.elc \
	$(lisp)/textmodes/two-column.elc \
	$(lisp)/textmodes/underline.elc \
	$(lisp)/thingatpt.elc \
	$(lisp)/thumbs.elc \
	$(lisp)/time-stamp.elc \
	$(lisp)/time.elc \
	$(lisp)/timezone.elc \
	$(lisp)/tmm.elc \
	$(lisp)/tool-bar.elc \
	$(lisp)/tooltip.elc \
	$(lisp)/tree-widget.elc \
	$(lisp)/tutorial.elc \
	$(lisp)/type-break.elc \
	$(lisp)/uniquify.elc \
	$(lisp)/url/url-about.elc \
	$(lisp)/url/url-auth.elc \
	$(lisp)/url/url-cache.elc \
	$(lisp)/url/url-cid.elc \
	$(lisp)/url/url-cookie.elc \
	$(lisp)/url/url-dav.elc \
	$(lisp)/url/url-dired.elc \
	$(lisp)/url/url-expand.elc \
	$(lisp)/url/url-file.elc \
	$(lisp)/url/url-ftp.elc \
	$(lisp)/url/url-gw.elc \
	$(lisp)/url/url-handlers.elc \
	$(lisp)/url/url-history.elc \
	$(lisp)/url/url-http.elc \
	$(lisp)/url/url-imap.elc \
	$(lisp)/url/url-irc.elc \
	$(lisp)/url/url-ldap.elc \
	$(lisp)/url/url-mailto.elc \
	$(lisp)/url/url-methods.elc \
	$(lisp)/url/url-misc.elc \
	$(lisp)/url/url-news.elc \
	$(lisp)/url/url-nfs.elc \
	$(lisp)/url/url-ns.elc \
	$(lisp)/url/url-parse.elc \
	$(lisp)/url/url-privacy.elc \
	$(lisp)/url/url-proxy.elc \
	$(lisp)/url/url-util.elc \
	$(lisp)/url/url-vars.elc \
	$(lisp)/url/url.elc \
	$(lisp)/userlock.elc \
	$(lisp)/vc-annotate.elc \
	$(lisp)/vc-arch.elc \
	$(lisp)/vc-bzr.elc \
	$(lisp)/vc-cvs.elc \
	$(lisp)/vc-dav.elc \
	$(lisp)/vc-dir.elc \
	$(lisp)/vc-dispatcher.elc \
	$(lisp)/vc-git.elc \
	$(lisp)/vc-hg.elc \
	$(lisp)/vc-hooks.elc \
	$(lisp)/vc-mcvs.elc \
	$(lisp)/vc-mtn.elc \
	$(lisp)/vc-rcs.elc \
	$(lisp)/vc-sccs.elc \
	$(lisp)/vc-svn.elc \
	$(lisp)/vc.elc \
	$(lisp)/vcursor.elc \
	$(lisp)/view.elc \
	$(lisp)/vt-control.elc \
	$(lisp)/vt100-led.elc \
	$(lisp)/w32-fns.elc \
	$(lisp)/w32-vars.elc \
	$(lisp)/wdired.elc \
	$(lisp)/whitespace.elc \
	$(lisp)/wid-browse.elc \
	$(lisp)/wid-edit.elc \
	$(lisp)/widget.elc \
	$(lisp)/windmove.elc \
	$(lisp)/window.elc \
	$(lisp)/winner.elc \
	$(lisp)/woman.elc \
	$(lisp)/x-dnd.elc \
	$(lisp)/xml.elc \
	$(lisp)/xt-mouse.elc

# The src/Makefile.in has its own set of dependencies and when they decide
# that one Lisp file needs to be re-compiled, we had better recompile it as
# well, otherwise every subsequent make will again call us, until we finally
# end up deciding that yes, the file deserves recompilation.
# One option is to try and reproduce exactly the same dependencies here as
# we have in src/Makefile.in, but it turns out to be painful
# (e.g. src/Makefile.in may have a dependency for ../lisp/foo.elc where we
# only know of $(lisp)/foo.elc).  So instead we provide a direct way for
# src/Makefile.in to rebuild a particular Lisp file, no questions asked.
compile-onefile:
	@echo Compiling $(THEFILE)
	@$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $(THEFILE)

# Files MUST be compiled one by one. If we compile several files in a
# row (i.e., in the same instance of Emacs) we can't make sure that
# the compilation environment is clean.  We also set the load-path of
# the Emacs used for compilation to the current directory and its
# subdirectories, to make sure require's and load's in the files being
# compiled find the right files.

.SUFFIXES: .elc .el

# An old-fashioned suffix rule, which, according to the GNU Make manual,
# cannot have prerequisites.
# Note that if a .el file is removed from the repository without
# updating ELCFILES, make will abort.
.el.elc:
	@echo Compiling $<
	@$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $<

.PHONY: compile-first compile-main compile-last compile compile-always

compile-first: $(COMPILE_FIRST)

compile-main: $(ELCFILES)

# Compile all Lisp files, but don't recompile those that are up to
# date.  Some .el files don't get compiled because they set the
# local variable no-byte-compile.
# Calling make recursively because suffix rule cannot have prerequisites.
# Explicitly pass EMACS (sometimes ../src/bootstrap-emacs) to those
# sub-makes that run rules that use it, for the sake of some non-GNU makes.
compile: $(LOADDEFS) autoloads compile-first
	$(MAKE) $(MFLAGS) compile-main EMACS=$(EMACS)
	$(MAKE) $(MFLAGS) compile-last EMACS=$(EMACS)

## Doing this causes make install to dump another emacs.
#	$(MAKE) $(MFLAGS) update-elclist

# Compile all Lisp files.  This is like `compile' but compiles files
# unconditionally.  Some files don't actually get compiled because they
# set the local variable no-byte-compile.
compile-always: doit
	cd $(lisp); rm -f *.elc */*.elc
	$(MAKE) $(MFLAGS) compile EMACS=$(EMACS)

## In case any files are missing from ELCFILES.
compile-last:
	@wd=$(lisp); $(setwins); \
	els=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \
	for el in $$els; do \
	  test -f $$el || continue; \
	  test -f $${el}c && continue; \
	  grep 'no-byte-compile: t' $$el > /dev/null && continue; \
	  head -n 1 $$el | grep '^;; Automatically generated from UnicodeData.txt.' > /dev/null && continue; \
	  sel=`echo $$el | sed "s|^$(lisp)|\\$$(lisp)|"`; \
	  echo "Maintainer warning: $$sel missing from \$$ELCFILES?"; \
	  echo "Compiling $$el"; \
	  $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \
	done

compile-calc:
	for el in $(lisp)/calc/*.el; do \
	  echo Compiling $$el; \
	  $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \
	done

# Backup compiled Lisp files in elc.tar.gz.  If that file already
# exists, make a backup of it.

backup-compiled-files:
	-mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~
	-tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc

# Compile Lisp files, but save old compiled files first.

compile-after-backup: backup-compiled-files compile-always

# Recompile all Lisp files which are newer than their .elc files and compile
# new ones.
# This has the same effect as compile-main (followed up with compile-last,
# if ELCFILES is out of date).  recompile has some advantages:
# i) It is faster (on a single processor), since it only has to start
# Emacs once.  It was 33% faster on a test with a random 10% of the .el
# files needing recompilation.
# ii) The explicit cc-mode dependency.
# recompile's disadvantages are:
# i) Not parallelizable.
# ii) Compiling multiple files in the same instance of Emacs is wrong,
# since the environment of later files is affected by definitions in
# earlier ones.
recompile: doit $(LOADDEFS) $(lisp)/progmodes/cc-mode.elc
	$(emacs) --eval "(batch-byte-recompile-directory 0)" $(lisp)

# CC Mode uses a compile time macro system which causes a compile time
# dependency in cc-mode.elc on the macros in cc-langs.el and the
# version string in cc-defs.el.
$(lisp)/progmodes/cc-mode.elc: \
	$(lisp)/progmodes/cc-mode.el \
	$(lisp)/progmodes/cc-langs.el \
	$(lisp)/progmodes/cc-defs.el
	$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $<

# 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_DIR = $(lisp)/mh-e
## MH_E_SRC avoids a circular dependency warning for mh-loaddefs.el.
MH_E_SRC = $(MH_E_DIR)/mh-acros.el $(MH_E_DIR)/mh-alias.el    \
	$(MH_E_DIR)/mh-buffers.el  $(MH_E_DIR)/mh-compat.el   \
	$(MH_E_DIR)/mh-comp.el     $(MH_E_DIR)/mh-e.el        \
	$(MH_E_DIR)/mh-folder.el   $(MH_E_DIR)/mh-funcs.el    \
	$(MH_E_DIR)/mh-gnus.el     $(MH_E_DIR)/mh-identity.el \
	$(MH_E_DIR)/mh-inc.el      $(MH_E_DIR)/mh-junk.el     \
	$(MH_E_DIR)/mh-letter.el   $(MH_E_DIR)/mh-limit.el    \
	$(MH_E_DIR)/mh-mime.el     $(MH_E_DIR)/mh-print.el    \
	$(MH_E_DIR)/mh-scan.el     $(MH_E_DIR)/mh-search.el   \
	$(MH_E_DIR)/mh-seq.el      $(MH_E_DIR)/mh-show.el     \
	$(MH_E_DIR)/mh-speed.el    $(MH_E_DIR)/mh-thread.el   \
	$(MH_E_DIR)/mh-tool-bar.el $(MH_E_DIR)/mh-utils.el    \
	$(MH_E_DIR)/mh-xface.el

mh-autoloads: $(MH_E_DIR)/mh-loaddefs.el
$(MH_E_DIR)/mh-loaddefs.el: $(MH_E_SRC)
	$(emacs) -l autoload \
	   --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
	   --eval "(setq generated-autoload-file \"$@\")" \
	   --eval "(setq make-backup-files nil)" \
	   -f batch-update-autoloads $(MH_E_DIR)

CAL_DIR = $(lisp)/calendar
## Those files that may contain internal calendar autoload cookies.
## Avoids circular dependency warning for *-loaddefs.el.
CAL_SRC = $(CAL_DIR)/cal-bahai.el $(CAL_DIR)/cal-china.el  \
	$(CAL_DIR)/cal-coptic.el  $(CAL_DIR)/cal-dst.el    \
	$(CAL_DIR)/cal-french.el  $(CAL_DIR)/cal-hebrew.el \
	$(CAL_DIR)/cal-html.el    $(CAL_DIR)/cal-islam.el  \
	$(CAL_DIR)/cal-iso.el     $(CAL_DIR)/cal-julian.el \
	$(CAL_DIR)/cal-mayan.el   $(CAL_DIR)/cal-menu.el   \
	$(CAL_DIR)/cal-move.el    $(CAL_DIR)/cal-persia.el \
	$(CAL_DIR)/cal-tex.el     $(CAL_DIR)/cal-x.el      \
	$(CAL_DIR)/calendar.el    $(CAL_DIR)/diary-lib.el  \
	$(CAL_DIR)/holidays.el    $(CAL_DIR)/lunar.el      \
	$(CAL_DIR)/solar.el

$(CAL_DIR)/cal-loaddefs.el: $(CAL_SRC)
	$(emacs) -l autoload \
	   --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
	   --eval "(setq generated-autoload-file \"$@\")" \
	   --eval "(setq make-backup-files nil)" \
	   -f batch-update-autoloads $(CAL_DIR)

$(CAL_DIR)/diary-loaddefs.el: $(CAL_SRC)
	$(emacs) -l autoload \
	   --eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \
	   --eval "(setq generated-autoload-file \"$@\")" \
	   --eval "(setq make-backup-files nil)" \
	   -f batch-update-autoloads $(CAL_DIR)

$(CAL_DIR)/hol-loaddefs.el: $(CAL_SRC)
	$(emacs) -l autoload \
	   --eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \
	   --eval "(setq generated-autoload-file \"$@\")" \
	   --eval "(setq make-backup-files nil)" \
	   -f batch-update-autoloads $(CAL_DIR)

# 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.  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-clean:
	cd $(lisp); rm -f *.elc */*.elc $(AUTOGENEL)

distclean:
	-rm -f ./Makefile

maintainer-clean: distclean bootstrap-clean

.PHONY: check-declare

check-declare:
	$(emacs) -l $(lisp)/emacs-lisp/check-declare \
	  --eval '(check-declare-directory "$(lisp)")'

# Makefile ends here.