-# Makefile for the GNU Emacs Lisp Reference Manual.
-#
-# 11 August 1990
+# Makefile for the GNU Emacs Lisp Reference Manual.
-# Redefine `TEX' if `tex' does not invoke plain TeX. For example:
-# TEX=platex
+# Copyright (C) 1990,1991,1992,1993,1994,1995,1996,1998,1999,2000,2001,2003,2004
+# Free Software Foundation, Inc.
-TEX=tex
-MAKE=make
-SHELL=/bin/sh
-INSTALL_INFO = install-info
+# 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 2, 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.
-# Where the TeX macros are kept:
-texmacrodir = /usr/local/lib/tex/macros
+# 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., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
# Standard configure variables.
-prefix = @prefix@
-infodir = @infodir@
+srcdir = @srcdir@
-# The name of the manual:
+# Tell make where to find source files; this is needed for the makefiles.
+VPATH=@srcdir@
-VERSION=2.5
-manual = elisp-manual-20-$(VERSION)
+infodir = $(srcdir)/../info
-# Uncomment this line for permuted index.
-# permuted_index = 1
+TEXI2DVI = texi2dvi
+SHELL = /bin/sh
+INSTALL_INFO = install-info
+MAKEINFO = makeinfo --force
+
+# The name of the manual:
+VERSION=2.9
+manual = elisp-manual-21-$(VERSION)
# List of all the texinfo files in the manual:
-srcs = elisp.texi back.texi \
- abbrevs.texi advice.texi anti.texi backups.texi locals.texi buffers.texi \
- calendar.texi commands.texi compile.texi control.texi customize.texi \
- debugging.texi display.texi edebug.texi errors.texi eval.texi files.texi \
- frames.texi functions.texi help.texi hooks.texi \
- internals.texi intro.texi keymaps.texi lists.texi \
- loading.texi macros.texi maps.texi markers.texi \
- minibuf.texi modes.texi nonascii.texi numbers.texi objects.texi \
- os.texi positions.texi processes.texi searching.texi \
- sequences.texi streams.texi strings.texi symbols.texi \
- syntax.texi text.texi tips.texi variables.texi \
- windows.texi \
- index.unperm index.perm
-
-.PHONY: elisp.dvi clean
+srcs = \
+ $(srcdir)/abbrevs.texi \
+ $(srcdir)/advice.texi \
+ $(srcdir)/anti.texi \
+ $(srcdir)/back.texi \
+ $(srcdir)/backups.texi \
+ $(srcdir)/buffers.texi \
+ $(srcdir)/commands.texi \
+ $(srcdir)/compile.texi \
+ $(srcdir)/control.texi \
+ $(srcdir)/customize.texi \
+ $(srcdir)/debugging.texi \
+ $(srcdir)/display.texi \
+ $(srcdir)/edebug.texi \
+ $(srcdir)/elisp.texi \
+ $(srcdir)/errors.texi \
+ $(srcdir)/eval.texi \
+ $(srcdir)/files.texi \
+ $(srcdir)/frames.texi \
+ $(srcdir)/functions.texi \
+ $(srcdir)/hash.texi \
+ $(srcdir)/help.texi \
+ $(srcdir)/hooks.texi \
+ $(srcdir)/internals.texi \
+ $(srcdir)/intro.texi \
+ $(srcdir)/keymaps.texi \
+ $(srcdir)/lists.texi \
+ $(srcdir)/loading.texi \
+ $(srcdir)/locals.texi \
+ $(srcdir)/macros.texi \
+ $(srcdir)/maps.texi \
+ $(srcdir)/markers.texi \
+ $(srcdir)/minibuf.texi \
+ $(srcdir)/modes.texi \
+ $(srcdir)/nonascii.texi \
+ $(srcdir)/numbers.texi \
+ $(srcdir)/objects.texi \
+ $(srcdir)/os.texi \
+ $(srcdir)/positions.texi \
+ $(srcdir)/processes.texi \
+ $(srcdir)/searching.texi \
+ $(srcdir)/sequences.texi \
+ $(srcdir)/streams.texi \
+ $(srcdir)/strings.texi \
+ $(srcdir)/symbols.texi \
+ $(srcdir)/syntax.texi \
+ $(srcdir)/text.texi \
+ $(srcdir)/tips.texi \
+ $(srcdir)/variables.texi \
+ $(srcdir)/windows.texi \
+ $(srcdir)/index.texi \
+ $(srcdir)/gpl.texi \
+ $(srcdir)/doclicense.texi
+
+
+.PHONY: clean
# The info file is named `elisp'.
+info: $(infodir)/elisp
-elisp: $(srcs) index.texi
- rm -f elisp-*
- makeinfo elisp.texi
-
-elisp.dvi: $(srcs) index.texi
- # Avoid losing old contents of aux file entirely.
- -mv elisp.aux elisp.oaux
- # First shot to define xrefs:
- $(TEX) elisp.texi
- if [ a${permuted_index} != a ]; \
- then \
- ./permute-index; \
- mv permuted.fns elisp.fns; \
- texindex elisp.tp; \
- else \
- texindex elisp.??; \
- fi
- $(TEX) elisp.texi
-
-index.texi:
- if [ a${permuted_index} != a ]; \
- then \
- ln -s index.perm index.texi; \
- else \
- ln -s index.unperm index.texi; \
- fi
+$(infodir)/elisp: $(srcs)
+ $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp
+elisp.dvi: $(srcs)
+ $(TEXI2DVI) -I $(srcdir) $(srcdir)/elisp.texi
+
+# This is for use in a separate distro of the Emacs Lisp manual.
install: elisp
- ./mkinstalldirs $(infodir)
- cp elisp elisp-* $(infodir)
- ${INSTALL_INFO} --dir-file=${infodir}/dir --info-file=${infodir}/elisp
+ $(srcdir)/mkinstalldirs $(infodir)
+ cp elisp elisp-[1-9] elisp-[1-9][0-9] $(infodir)
+ ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/elisp
-installall: install
- install -c texinfo.tex $(texmacrodir)
+# This is for use in a separate distro of the Emacs Lisp manual.
+elisp: $(srcs)
+ $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi
clean:
rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
*.vr *.vrs *.pg *.pgs *.ky *.kys
- rm -f make.out core
- rm -f index.texi
+ rm -f make.out core
+
+distclean: clean
maintainer-clean: clean
- rm -f elisp elisp-*
+ rm -f elisp.dvi elisp.oaux
+ cd $(infodir); rm -f elisp elisp-[1-9] elisp-[1-9][0-9]
-dist:
+dist: $(infodir)/elisp elisp.dvi
-rm -rf temp
-mkdir temp
-mkdir temp/$(manual)
- -ln README configure.in configure Makefile.in permute-index $(srcs) \
- texinfo.tex elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \
+ -ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \
+ $(srcdir)/Makefile.in $(srcs) \
+ $(srcdir)/../man/texinfo.tex \
+ elisp.dvi elisp.aux elisp.??s \
+ $(infodir)/elisp $(infodir)/elisp-[1-9] $(infodir)/elisp-[1-9][0-9] \
temp/$(manual)
-(cd temp/$(manual); rm -f mkinstalldirs)
- cp mkinstalldirs temp/$(manual)
+ cp $(srcdir)/mkinstalldirs temp/$(manual)
(cd temp/$(manual); rm -f *~)
(cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
-rm -rf temp