6558
|
1 # Makefile for the GNU Emacs Lisp Reference Manual.
|
|
2 #
|
|
3 # 11 August 1990
|
|
4
|
|
5 # Redefine `TEX' if `tex' does not invoke plain TeX. For example:
|
|
6 # TEX=platex
|
|
7
|
|
8 TEX=tex
|
|
9
|
|
10 # Where the TeX macros are kept:
|
|
11 texmacrodir = /usr/local/lib/tex/macros
|
|
12
|
|
13 # Where the Emacs hierarchy lives ($EMACS in the INSTALL document for Emacs.)
|
|
14 # For example:
|
|
15 # emacslibdir = /usr/local/gnu/lib/emacs
|
|
16
|
|
17 # Directory where Emacs is installed, by default:
|
|
18 emacslibdir = /usr/local/emacs
|
|
19
|
|
20 # Unless you have a nonstandard Emacs installation, these shouldn't have to
|
|
21 # be changed.
|
|
22 prefix = /usr/local
|
|
23 infodir = ${prefix}/info
|
|
24
|
|
25 # The name of the manual:
|
|
26
|
7543
|
27 VERSION=2.3
|
6558
|
28 manual = elisp-manual-19-$(VERSION)
|
|
29
|
|
30 # Uncomment this line for permuted index.
|
|
31 # permuted_index = 1
|
|
32
|
|
33 # List of all the texinfo files in the manual:
|
|
34
|
|
35 srcs = elisp.texi back.texi \
|
|
36 abbrevs.texi anti.texi backups.texi locals.texi buffers.texi \
|
|
37 calendar.texi commands.texi compile.texi control.texi debugging.texi \
|
|
38 display.texi edebug.texi errors.texi eval.texi files.texi \
|
|
39 frames.texi functions.texi help.texi hooks.texi \
|
|
40 internals.texi intro.texi keymaps.texi lists.texi \
|
|
41 loading.texi macros.texi maps.texi markers.texi \
|
|
42 minibuf.texi modes.texi numbers.texi objects.texi \
|
|
43 os.texi positions.texi processes.texi searching.texi \
|
|
44 sequences.texi streams.texi strings.texi symbols.texi \
|
|
45 syntax.texi text.texi tips.texi variables.texi \
|
|
46 windows.texi \
|
|
47 index.unperm index.perm
|
|
48
|
|
49 .PHONY: elisp.dvi clean
|
|
50
|
|
51 elisp.dvi: $(srcs) index.texi texindex
|
|
52 # Avoid losing old contents of aux file entirely.
|
|
53 -mv elisp.aux elisp.oaux
|
|
54 # First shot to define xrefs:
|
|
55 $(TEX) elisp.texi
|
|
56 if [ a${permuted_index} != a ]; \
|
|
57 then \
|
|
58 ./permute-index; \
|
|
59 mv permuted.fns elisp.fns; \
|
|
60 else \
|
|
61 ./texindex elisp.??; \
|
|
62 fi
|
|
63 $(TEX) elisp.texi
|
|
64
|
|
65 index.texi:
|
|
66 if [ a${permuted_index} != a ]; \
|
|
67 then \
|
|
68 ln -s index.perm index.texi; \
|
|
69 else \
|
|
70 ln -s index.unperm index.texi; \
|
|
71 fi
|
|
72
|
|
73 # The info file is named `elisp'.
|
|
74
|
|
75 elisp: $(srcs) index.texi makeinfo
|
|
76 ./makeinfo elisp.texi
|
|
77
|
|
78 install: elisp elisp.dvi
|
|
79 mv elisp elisp-* $(infodir)
|
|
80 @echo also add the line for elisp to $(infodir)/dir.
|
|
81
|
|
82 installall: install
|
|
83 install -c texinfo.tex $(texmacrodir)
|
|
84
|
|
85 clean:
|
|
86 rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
|
|
87 *.vr *.vrs *.pg *.pgs *.ky *.kys
|
|
88 rm -f make.out core
|
|
89 rm -f makeinfo.o makeinfo getopt.o getopt1.o
|
|
90 rm -f texindex.o texindex index.texi
|
|
91
|
|
92 dist:
|
|
93 -mkdir temp
|
|
94 -mkdir temp/$(manual)
|
|
95 -ln README Makefile permute-index $(srcs) \
|
|
96 texinfo.tex getopt.c getopt1.c getopt.h \
|
|
97 elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] temp/$(manual)
|
|
98 -rm -f temp/$(manual)/texindex.c temp/$(manual)/makeinfo.c
|
|
99 cp texindex.c makeinfo.c temp/$(manual)
|
|
100 (cd temp/$(manual); rm -f *~)
|
|
101 (cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz
|
|
102 -rm -rf temp
|
|
103
|
|
104 # Make two programs used in generating output from texinfo.
|
|
105
|
|
106 CFLAGS = -g
|
|
107
|
|
108 texindex: texindex.o
|
|
109 $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $?
|
|
110 texindex.o: texindex.c
|
|
111
|
|
112 MAKEINFO_MAJOR = 1
|
|
113 MAKEINFO_MINOR = 0
|
|
114 MAKEINFO_FLAGS = -DMAKEINFO_MAJOR=$(MAKEINFO_MAJOR) -DMAKEINFO_MINOR=$(MAKEINFO_MINOR)
|
|
115
|
|
116 makeinfo: makeinfo.o getopt.o getopt1.o
|
|
117 $(CC) $(LDFLAGS) -o makeinfo makeinfo.o getopt.o getopt1.o
|
|
118
|
|
119 makeinfo.o: makeinfo.c
|
|
120 $(CC) -c $(CFLAGS) $(MAKEINFO_FLAGS) makeinfo.c
|