1 # Makefile for the GNU Emacs Lisp Reference Manual.
5 # Redefine `TEX' if `tex' does not invoke plain TeX. For example:
11 # Where the TeX macros are kept:
12 texmacrodir
= /usr
/local
/lib
/tex/macros
14 # Where the Emacs hierarchy lives ($EMACS in the INSTALL document for Emacs.)
16 # emacslibdir = /usr/local/gnu/lib/emacs
18 # Directory where Emacs is installed, by default:
19 emacslibdir
= /usr
/local
/emacs
21 # Unless you have a nonstandard Emacs installation, these shouldn't have to
24 infodir = ${prefix}/info
26 # The name of the manual:
29 manual
= elisp-manual-19-
$(VERSION
)
31 # Uncomment this line for permuted index.
34 # List of all the texinfo files in the manual:
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 \
48 index.unperm index.perm
50 .PHONY
: elisp.
dvi clean
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.
56 elisp
: $(srcs
) index.texi
makeinfo.c
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:
66 if
[ a
${permuted_index} != a
]; \
69 mv permuted.fns elisp.fns
; \
71 .
/texindex elisp.??
; \
76 if
[ a
${permuted_index} != a
]; \
78 ln
-s index.perm index.texi
; \
80 ln
-s index.unperm index.texi
; \
84 .
/mkinstalldirs
$(infodir)
85 cp elisp elisp-
* $(infodir)
86 @echo also add the line for elisp to
$(infodir)/dir.
89 install -c texinfo.
tex $(texmacrodir
)
92 rm -f
*.toc
*.aux
*.log
*.cp
*.cps
*.fn
*.fns
*.tp
*.tps \
93 *.vr
*.vrs
*.pg
*.pgs
*.ky
*.kys
95 rm -f
makeinfo.o
makeinfo getopt.o getopt1.o
96 rm -f texindex.o texindex index.texi
98 maintainer-clean
: clean
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
)
107 -(cd temp
/$(manual
); rm -f texindex.c
makeinfo.c mkinstalldirs
)
108 cp texindex.c
makeinfo.c mkinstalldirs temp
/$(manual
)
109 (cd temp
/$(manual
); rm -f
*~
)
110 (cd temp
; tar chf
- $(manual
)) | gzip
> $(manual
).
tar.gz
113 # Make two programs used in generating output from texinfo.
118 $(CC
) -o
$@
$(LDFLAGS
) $(CFLAGS
) $?
119 texindex.o
: texindex.c
123 MAKEINFO_FLAGS
= -DMAKEINFO_MAJOR
=$(MAKEINFO_MAJOR
) -DMAKEINFO_MINOR
=$(MAKEINFO_MINOR
)
125 makeinfo: makeinfo.o getopt.o getopt1.o
126 $(CC
) $(LDFLAGS
) -o
makeinfo makeinfo.o getopt.o getopt1.o
128 makeinfo.o
: makeinfo.c
129 $(CC
) -c
$(CFLAGS
) $(MAKEINFO_FLAGS
) makeinfo.c