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