Major rewrite. The code is reordered, cleaner and faster.
[emacs.git] / lispref / Makefile.in
blobc05acc15bb22ac68a1d275cd02bb7c0dec919b4c
1 # Makefile for the GNU Emacs Lisp Reference Manual.
3 # Copyright (C) 1990,1991,1992,1993,1994,1995,1996,1998,1999,2000,2001
4 # Free Software Foundation, Inc.
6 # This file is part of GNU Emacs.
8 # GNU Emacs is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version.
13 # GNU Emacs is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with GNU Emacs; see the file COPYING. If not, write to
20 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 # Boston, MA 02111-1307, USA.
23 # Standard configure variables.
24 srcdir = @srcdir@
26 # Tell make where to find source files; this is needed for the makefiles.
27 VPATH=@srcdir@
29 infodir = $(srcdir)/../info
31 # Redefine `TEX' if `tex' does not invoke plain TeX. For example:
32 # TEX=platex
33 TEX=tex
34 SHELL=/bin/sh
35 INSTALL_INFO = install-info
36 MAKEINFO=makeinfo
38 # The environment variable and its value to add $(srcdir) to the path
39 # searched for TeX input files.
40 texinputdir = TEXINPUTS=$(srcdir):"$(TEXINPUTS)"
42 # The name of the manual:
43 VERSION=2.9
44 manual = elisp-manual-21-$(VERSION)
46 # Uncomment this line for permuted index.
47 # permuted_index = 1
49 # List of all the texinfo files in the manual:
51 srcs = \
52 $(srcdir)/abbrevs.texi \
53 $(srcdir)/advice.texi \
54 $(srcdir)/anti.texi \
55 $(srcdir)/back.texi \
56 $(srcdir)/backups.texi \
57 $(srcdir)/buffers.texi \
58 $(srcdir)/calendar.texi \
59 $(srcdir)/commands.texi \
60 $(srcdir)/compile.texi \
61 $(srcdir)/control.texi \
62 $(srcdir)/customize.texi \
63 $(srcdir)/debugging.texi \
64 $(srcdir)/display.texi \
65 $(srcdir)/edebug.texi \
66 $(srcdir)/elisp.texi \
67 $(srcdir)/errors.texi \
68 $(srcdir)/eval.texi \
69 $(srcdir)/files.texi \
70 $(srcdir)/frames.texi \
71 $(srcdir)/functions.texi \
72 $(srcdir)/hash.texi \
73 $(srcdir)/help.texi \
74 $(srcdir)/hooks.texi \
75 $(srcdir)/internals.texi \
76 $(srcdir)/intro.texi \
77 $(srcdir)/keymaps.texi \
78 $(srcdir)/lists.texi \
79 $(srcdir)/loading.texi \
80 $(srcdir)/locals.texi \
81 $(srcdir)/macros.texi \
82 $(srcdir)/maps.texi \
83 $(srcdir)/markers.texi \
84 $(srcdir)/minibuf.texi \
85 $(srcdir)/modes.texi \
86 $(srcdir)/nonascii.texi \
87 $(srcdir)/numbers.texi \
88 $(srcdir)/objects.texi \
89 $(srcdir)/os.texi \
90 $(srcdir)/positions.texi \
91 $(srcdir)/processes.texi \
92 $(srcdir)/searching.texi \
93 $(srcdir)/sequences.texi \
94 $(srcdir)/streams.texi \
95 $(srcdir)/strings.texi \
96 $(srcdir)/symbols.texi \
97 $(srcdir)/syntax.texi \
98 $(srcdir)/text.texi \
99 $(srcdir)/tips.texi \
100 $(srcdir)/variables.texi \
101 $(srcdir)/windows.texi \
102 $(srcdir)/index.unperm \
103 $(srcdir)/index.perm \
104 $(srcdir)/gpl.texi \
105 $(srcdir)/doclicense.texi
108 .PHONY: clean
110 # The info file is named `elisp'.
111 info: $(infodir)/elisp
113 $(infodir)/elisp: $(srcs) index.texi
114 $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp
116 elisp.dvi: $(srcs) index.texi
117 # Avoid losing old contents of aux file entirely.
118 -mv elisp.aux elisp.oaux
119 # First shot to define xrefs.
120 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
121 if [ a${permuted_index} != a ]; \
122 then \
123 $(srcdir)/permute-index; \
124 mv permuted.fns elisp.fns; \
125 texindex elisp.tp; \
126 else \
127 texindex elisp.??; \
129 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
131 index.texi:
132 if [ a${permuted_index} != a ]; \
133 then \
134 ln -s $(srcdir)/index.perm index.texi || ln $(srcdir)/index.perm index.texi || cp $(srcdir)/index.perm index.texi; \
135 else \
136 ln -s $(srcdir)/index.unperm index.texi || ln $(srcdir)/index.unperm index.texi || cp $(srcdir)/index.unperm index.texi; \
139 install: elisp
140 $(srcdir)/mkinstalldirs $(infodir)
141 cp elisp elisp-* $(infodir)
142 ${INSTALL_INFO} --info-dir=${infodir} ${infodir}/elisp
144 clean:
145 rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
146 *.vr *.vrs *.pg *.pgs *.ky *.kys
147 rm -f make.out core
148 rm -f index.texi
150 distclean: clean
152 maintainer-clean: clean
153 rm -f elisp elisp-* elisp.dvi elisp.oaux
155 dist: elisp elisp.dvi
156 -rm -rf temp
157 -mkdir temp
158 -mkdir temp/$(manual)
159 -ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \
160 $(srcdir)/Makefile.in $(srcdir)/permute-index $(srcs) \
161 $(srcdir)/../man/texinfo.tex \
162 elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \
163 temp/$(manual)
164 -(cd temp/$(manual); rm -f mkinstalldirs)
165 cp $(srcdir)/mkinstalldirs temp/$(manual)
166 (cd temp/$(manual); rm -f *~)
167 (cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
168 -rm -rf temp