-# 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
+# This file is part of GNU Emacs.
-# Where the TeX macros are kept:
-texmacrodir = /usr/local/lib/tex/macros
+# 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.
-# Where the Emacs hierarchy lives ($EMACS in the INSTALL document for Emacs.)
-# For example:
-# emacslibdir = /usr/local/gnu/lib/emacs
+# 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.
-# Directory where Emacs is installed, by default:
-emacslibdir = /usr/local/emacs
+# 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.
-# Unless you have a nonstandard Emacs installation, these shouldn't have to
-# be changed.
-prefix = /usr/local
-infodir = ${prefix}/info
+# Standard configure variables.
+srcdir = @srcdir@
-# The name of the manual:
+# Tell make where to find source files; this is needed for the makefiles.
+VPATH=@srcdir@
+
+infodir = $(srcdir)/../info
-VERSION=2.4.2
-manual = elisp-manual-19-$(VERSION)
+TEXI2DVI = texi2dvi
+SHELL = /bin/sh
+INSTALL_INFO = install-info
+MAKEINFO = makeinfo --force
-# Uncomment this line for permuted index.
-# permuted_index = 1
+# 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 anti.texi backups.texi locals.texi buffers.texi \
- calendar.texi commands.texi compile.texi control.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 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'.
-# We depend on makeinfo.c rather than makeinfo -- there's no need to rebuild
-# everything just because makeinfo isn't part of the distribution.
-
-elisp: $(srcs) index.texi makeinfo.c
- $(MAKE) makeinfo
- rm -f elisp-*
- ./makeinfo elisp.texi
-
-elisp.dvi: $(srcs) index.texi texindex
- # 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; \
- 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
+info: $(infodir)/elisp
+
+$(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)
- @echo also add the line for elisp to $(infodir)/dir.
+ $(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 makeinfo.o makeinfo getopt.o getopt1.o
- rm -f texindex.o texindex 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 Makefile permute-index $(srcs) \
- texinfo.tex getopt.c getopt1.c getopt.h \
- elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] temp/$(manual)
- -(cd temp/$(manual); rm -f texindex.c makeinfo.c mkinstalldirs)
- cp texindex.c makeinfo.c mkinstalldirs temp/$(manual)
+ -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 $(srcdir)/mkinstalldirs temp/$(manual)
(cd temp/$(manual); rm -f *~)
(cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
-rm -rf temp
-
-# Make two programs used in generating output from texinfo.
-
-CFLAGS = -g
-
-texindex: texindex.o
- $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $?
-texindex.o: texindex.c
-
-MAKEINFO_MAJOR = 1
-MAKEINFO_MINOR = 0
-MAKEINFO_FLAGS = -DMAKEINFO_MAJOR=$(MAKEINFO_MAJOR) -DMAKEINFO_MINOR=$(MAKEINFO_MINOR)
-
-makeinfo: makeinfo.o getopt.o getopt1.o
- $(CC) $(LDFLAGS) -o makeinfo makeinfo.o getopt.o getopt1.o
-
-makeinfo.o: makeinfo.c
- $(CC) -c $(CFLAGS) $(MAKEINFO_FLAGS) makeinfo.c