Makefile.in 4.22 KB
Newer Older
1
#### Makefile for the Emacs Manual
Glenn Morris's avatar
Glenn Morris committed
2 3

# Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
Glenn Morris's avatar
Glenn Morris committed
4
#   2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
Glenn Morris's avatar
Glenn Morris committed
5 6 7

# This file is part of GNU Emacs.

8
# GNU Emacs is free software: you can redistribute it and/or modify
Glenn Morris's avatar
Glenn Morris committed
9
# it under the terms of the GNU General Public License as published by
10 11
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
Glenn Morris's avatar
Glenn Morris committed
12 13 14 15 16 17 18

# 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.

# You should have received a copy of the GNU General Public License
19 20
# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

Glenn Morris's avatar
Glenn Morris committed
21 22 23 24 25 26 27 28 29 30

# Where to find the source code.  $(srcdir) will be the man
# subdirectory of the source tree.  This is
# set by the configure script's `--srcdir' option.
srcdir=@srcdir@
top_srcdir=@top_srcdir@

# Tell make where to find source files; this is needed for the makefiles.
VPATH=@srcdir@

31 32 33
## Where the output files go.
## Note that the setfilename command in the .texi files assumes this.
infodir=../../info
34 35
# Directory with the (customized) texinfo.tex file.
texinfodir = $(srcdir)/../misc
Glenn Morris's avatar
Glenn Morris committed
36 37 38 39

# The makeinfo program is part of the Texinfo distribution.
# Use --force so that it generates output even if there are errors.
MAKEINFO = makeinfo --force
40 41 42 43 44 45

INFO_TARGETS = $(infodir)/emacs
DVI_TARGETS  = emacs.dvi


TEXI2DVI = texi2dvi
Glenn Morris's avatar
Glenn Morris committed
46 47 48 49

# The following rule does not work with all versions of `make'.
.SUFFIXES: .texi .dvi
.texi.dvi:
50
	$(TEXI2DVI) $<
Glenn Morris's avatar
Glenn Morris committed
51

52
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
Glenn Morris's avatar
Glenn Morris committed
53

54

Glenn Morris's avatar
Glenn Morris committed
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
EMACS_XTRA=\
	$(srcdir)/arevert-xtra.texi \
	$(srcdir)/cal-xtra.texi \
	$(srcdir)/dired-xtra.texi \
	$(srcdir)/picture-xtra.texi \
	$(srcdir)/emerge-xtra.texi \
	$(srcdir)/vc-xtra.texi \
	$(srcdir)/vc1-xtra.texi \
	$(srcdir)/fortran-xtra.texi \
	$(srcdir)/msdog-xtra.texi

EMACSSOURCES= \
	${srcdir}/emacs.texi \
	${srcdir}/doclicense.texi \
	${srcdir}/gpl.texi \
	${srcdir}/screen.texi \
	${srcdir}/commands.texi \
	${srcdir}/entering.texi \
	${srcdir}/basic.texi \
	${srcdir}/mini.texi \
	${srcdir}/m-x.texi \
	${srcdir}/help.texi \
	${srcdir}/mark.texi \
	${srcdir}/killing.texi \
	${srcdir}/regs.texi \
	${srcdir}/display.texi \
	${srcdir}/search.texi \
	${srcdir}/fixit.texi \
	${srcdir}/files.texi \
	${srcdir}/buffers.texi \
	${srcdir}/windows.texi \
	${srcdir}/frames.texi \
	${srcdir}/mule.texi \
	${srcdir}/major.texi \
	${srcdir}/indent.texi \
	${srcdir}/text.texi \
	${srcdir}/programs.texi \
	${srcdir}/building.texi \
	${srcdir}/maintaining.texi \
	${srcdir}/abbrevs.texi \
	${srcdir}/sending.texi \
	${srcdir}/rmail.texi \
	${srcdir}/dired.texi \
	${srcdir}/calendar.texi \
	${srcdir}/misc.texi \
	${srcdir}/custom.texi \
	${srcdir}/trouble.texi \
	${srcdir}/cmdargs.texi \
	${srcdir}/xresources.texi \
	${srcdir}/anti.texi \
	${srcdir}/macos.texi \
	${srcdir}/msdog.texi \
	${srcdir}/gnu.texi \
	${srcdir}/glossary.texi \
	${srcdir}/ack.texi \
	${srcdir}/kmacro.texi \
	$(EMACS_XTRA)

113
info: $(infodir) $(INFO_TARGETS)
Glenn Morris's avatar
Glenn Morris committed
114

115
$(infodir):
Glenn Morris's avatar
Glenn Morris committed
116 117 118 119 120 121 122 123 124
	mkdir $@

dvi: $(DVI_TARGETS)

# Note that all the Info targets build the Info files
# in srcdir.  There is no provision for Info files
# to exist in the build directory.
# In a distribution of Emacs, the Info files should be up to date.

125
emacs : $(infodir)/emacs
Glenn Morris's avatar
Glenn Morris committed
126

127
$(infodir)/emacs: ${EMACSSOURCES}
Glenn Morris's avatar
Glenn Morris committed
128 129 130 131 132 133 134 135 136 137 138
	cd $(srcdir); $(MAKEINFO) emacs.texi

emacs.dvi: ${EMACSSOURCES}
	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi


emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA)
	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi


mostlyclean:
139 140
	rm -f *.log *.cp *.fn *.ky *.op *.ops *.pg *.vr core *.tp *.core
	rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
Glenn Morris's avatar
Glenn Morris committed
141 142 143 144 145

clean: mostlyclean
	rm -f *.dvi

distclean: clean
146
#	rm -f Makefile
Glenn Morris's avatar
Glenn Morris committed
147 148 149 150 151 152 153 154 155 156

maintainer-clean: distclean
	for file in $(INFO_TARGETS); do rm -f $${file}*; done


# Formerly this directory had texindex.c and getopt.c in it
# and this makefile built them to make texindex.
# That caused trouble because this is run entirely in the source directory.
# Since we expect to get texi2dvi from elsewhere,
# it is ok to expect texindex from elsewhere also.
157 158 159


### Makefile ends here