X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/b92e2bd202becaf7a1dde3583c815d70d97d3bd3..9e2a2647758db83b490e2993aa31cd4607305a82:/lisp/Makefile.in diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 5601307f2d..9a20439c48 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -4,10 +4,10 @@ # This file is part of GNU Emacs. -# GNU Emacs is free software; you can redistribute it and/or modify +# 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, or (at your option) -# any later version. +# 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 @@ -15,9 +15,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with GNU Emacs; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. +# along with GNU Emacs. If not, see . SHELL = /bin/sh @@ -36,19 +34,23 @@ EMACS = ../src/emacs EMACSOPT = -batch --no-site-file --multibyte # Extra flags to pass to the byte compiler -BYTE_COMPILE_EXTRA_FLAGS = +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. -SOURCES = *.el COPYING Makefile -lisptagsfiles1 = $(lisp)/[a-zA-Z]*.el -lisptagsfiles2 = $(lisp)/[a-zA-Z]*/[a-zA-Z]*.el +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)/calendar/diary-loaddefs.el \ + $(lisp)/calendar/hol-loaddefs.el \ + $(lisp)/mh-e/mh-loaddefs.el # Elisp files auto-generated. AUTOGENEL = loaddefs.el \ @@ -56,21 +58,16 @@ AUTOGENEL = loaddefs.el \ cus-load.el \ finder-inf.el \ subdirs.el \ - eshell/esh-groups.el \ - mh-e/mh-loaddefs.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. The CC files are compiled first -# because CC mode tweaks the compilation process, and requiring -# cc-mode when it is not compiled doesn't work during the -# bootstrapping. +# speed up the bootstrap process. COMPILE_FIRST = \ - $(lisp)/emacs-lisp/byte-opt.el \ - $(lisp)/emacs-lisp/bytecomp.el \ - $(lisp)/subr.el \ - $(lisp)/progmodes/cc-mode.el \ - $(lisp)/progmodes/cc-vars.el + $(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. @@ -85,7 +82,7 @@ setwins=subdirs=`(cd $$wd; find . -type d -print)`; \ esac; \ done -# Find all subdirectories except `obsolete'. +# Find all subdirectories except `obsolete' and `term'. setwins_almost=subdirs=`(cd $$wd; find . -type d -print)`; \ for file in $$subdirs; do \ @@ -94,29 +91,55 @@ setwins_almost=subdirs=`(cd $$wd; find . -type d -print)`; \ 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: - touch $@ -# Note that custom-deps and finder-data depend on autoloads rather -# than on loaddefs.el, so that autoloads does not run in parallel with -# them under "make -j", because that could delete loaddefs.el from -# under their feet. -custom-deps: $(lisp)/subdirs.el autoloads $(lisp)/cus-load.el doit + $(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 -finder-data: $(lisp)/subdirs.el autoloads doit +$(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 -autoloads: $(lisp)/subdirs.el $(LOADDEFS) doit +# 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 @@ -135,69 +158,1168 @@ cvs-update: recompile autoloads finder-data custom-deps update-authors: $(emacs) -l authors -f batch-update-authors $(srcdir)/etc/AUTHORS $(srcdir) -TAGS: $(lisptagsfiles1) $(lisptagsfiles2) - els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ - ${ETAGS} $$els +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 -TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) - els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ - ${ETAGS} -o TAGS-LISP $$els +## 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/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-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 -.el.elc: $(lisp)/subdirs.el - -$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $< +# 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 files don't actually get compiled because they set the +# 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) -# All .elc files are made writable before compilation in case we -# checked out read-only (CVS option -r). Files MUST be compiled one by -# one. If we compile several files in a row 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. - -# `|| true' below prevents old Bash versions from getting confused -# by an error. -compile: $(lisp)/subdirs.el mh-autoloads cal-autoloads doit - find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1 || true; \ - wd=$(lisp); $(setwins); \ - els=`echo $$wins | tr ' \011' '\012\012' | \ - sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ - for el in $(COMPILE_FIRST) $$els; do \ - if test -f $$el; \ - then \ - echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done $$el || exit 1; \ - fi \ - done +## 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: $(lisp)/subdirs.el mh-autoloads cal-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; \ - wd=$(lisp); $(setwins); \ - els=`echo $$wins | tr ' \011' '\012\012' | \ - sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ - for el in $(COMPILE_FIRST) $$els; do \ - if test -f $$el; \ - then \ - echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ - fi \ +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; \ + 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 `find $(lisp)/calc -name '*.el'`; do \ + for el in $(lisp)/calc/*.el; do \ echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ + $(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 @@ -213,8 +1335,18 @@ compile-after-backup: backup-compiled-files compile-always # Recompile all Lisp files which are newer than their .elc files and compile # new ones. - -recompile: doit mh-autoloads cal-autoloads $(lisp)/progmodes/cc-mode.elc +# 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 @@ -224,56 +1356,69 @@ $(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 $(lisp)/progmodes/cc-mode.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-autoloads: $(lisp)/mh-e/mh-loaddefs.el -$(lisp)/mh-e/mh-loaddefs.el: $(lisp)/subdirs.el -## The only non-standard part of this is the provide. -## All these echos can be removed if mh-e.el changes to use -## (load "mh-loaddefs" nil 'quiet). - echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@ - echo ";;" >> $@ - echo ";;; Code:" >> $@ - echo " " >> $@ - 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" >> $@ +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 $(lisp)/mh-e - -cal-autoloads: $(lisp)/calendar/cal-loaddefs.el \ - $(lisp)/calendar/diary-loaddefs.el \ - $(lisp)/calendar/hol-loaddefs.el - -$(lisp)/calendar/cal-loaddefs.el: $(lisp)/calendar/*.el + -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 $(lisp)/calendar + -f batch-update-autoloads $(CAL_DIR) -$(lisp)/calendar/diary-loaddefs.el: $(lisp)/calendar/*.el +$(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 $(lisp)/calendar + -f batch-update-autoloads $(CAL_DIR) -$(lisp)/calendar/hol-loaddefs.el: $(lisp)/calendar/*.el +$(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 $(lisp)/calendar + -f batch-update-autoloads $(CAL_DIR) # Prepare a bootstrap in the lisp subdirectory. # @@ -287,41 +1432,15 @@ $(lisp)/calendar/hol-loaddefs.el: $(lisp)/calendar/*.el # 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). -# -# The chmod +w is to handle env var CVSREAD=1. Files named -# are identified by being the value of `generated-autoload-file'. - -bootstrap-prepare: - if test -x $(EMACS); then \ - $(MAKE) $(MFLAGS) autoloads; \ - else \ - cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \ - fi - chmod +w $(lisp)/loaddefs.el \ - $(lisp)/ps-print.el \ - $(lisp)/emacs-lisp/cl-loaddefs.el -maintainer-clean: distclean bootstrap-clean - cd $(lisp); rm -f $(AUTOGENEL) - -## NB note that this rules assume only one level of subdirs below lisp/. -## If nested subdirs are added, it's probably time to switch to: -## find $(lisp) -name "*.elc" -exec rm -f '{}' ';' bootstrap-clean: - cd $(lisp); rm -f *.elc */*.elc - -# Generate/update files for the bootstrap process. - -bootstrap: update-subdirs autoloads compile - -# Generate/update files after the bootstrap process. -# custom-deps needs `preloaded-file-list'. - -bootstrap-after: finder-data custom-deps + cd $(lisp); rm -f *.elc */*.elc $(AUTOGENEL) distclean: -rm -f ./Makefile +maintainer-clean: distclean bootstrap-clean + .PHONY: check-declare check-declare: