]> code.delx.au - gnu-emacs/blob - doc/lispintro/Makefile.in
Merge from emacs-24; up to 2014-07-20T16:14:58Z!dmantipov@yandex.ru
[gnu-emacs] / doc / lispintro / Makefile.in
1 ### @configure_input@
2
3 # Copyright (C) 1994-1999, 2001-2014 Free Software Foundation, Inc.
4
5 # This file is part of GNU Emacs.
6
7 # GNU Emacs is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11
12 # GNU Emacs is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20 SHELL = @SHELL@
21
22 # NB If you add any more configure variables,
23 # update the sed rules in the dist target below.
24 srcdir = @srcdir@
25 version=@version@
26
27 buildinfodir = $(srcdir)/../../info
28 # Directory with the (customized) texinfo.tex file.
29 texinfodir = $(srcdir)/../misc
30 # Directory with emacsver.texi.
31 emacsdir = $(srcdir)/../emacs
32
33 prefix = @prefix@
34 datarootdir = @datarootdir@
35 datadir = @datadir@
36 PACKAGE_TARNAME = @PACKAGE_TARNAME@
37 docdir = @docdir@
38 dvidir = @dvidir@
39 htmldir = @htmldir@
40 pdfdir = @pdfdir@
41 psdir = @psdir@
42
43 MKDIR_P = @MKDIR_P@
44
45 GZIP_PROG = @GZIP_PROG@
46
47 HTML_OPTS = --no-split --html
48
49 # Options used only when making info output.
50 INFO_OPTS= --no-split
51
52 INSTALL = @INSTALL@
53 INSTALL_DATA = @INSTALL_DATA@
54
55 MAKEINFO = @MAKEINFO@
56 MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
57 TEXI2DVI = texi2dvi
58 TEXI2PDF = texi2pdf
59 DVIPS = dvips
60
61 ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
62 MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
63
64 DVI_TARGETS = emacs-lisp-intro.dvi
65 HTML_TARGETS = emacs-lisp-intro.html
66 PDF_TARGETS = emacs-lisp-intro.pdf
67 PS_TARGETS = emacs-lisp-intro.ps
68
69 srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
70 ${emacsdir}/emacsver.texi
71
72 ## Disable implicit rules.
73 %.texi: ;
74
75 .PHONY: info dvi html pdf ps
76
77 info: ${buildinfodir}/eintr.info
78 dvi: $(DVI_TARGETS)
79 html: $(HTML_TARGETS)
80 pdf: $(PDF_TARGETS)
81 ps: $(PS_TARGETS)
82
83 ${buildinfodir}:
84 ${MKDIR_P} $@
85
86 # The file name eintr must fit within 5 characters, to allow for
87 # -NN extensions to fit into DOS 8+3 limits without clashing.
88 ${buildinfodir}/eintr.info: ${srcs} | ${buildinfodir}
89 $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
90
91 emacs-lisp-intro.dvi: ${srcs}
92 $(ENVADD) $(TEXI2DVI) $<
93
94 emacs-lisp-intro.pdf: ${srcs}
95 $(ENVADD) $(TEXI2PDF) $<
96
97 emacs-lisp-intro.html: ${srcs}
98 $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $<
99
100 emacs-lisp-intro.ps: emacs-lisp-intro.dvi
101 $(DVIPS) -o $@ $<
102
103 .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean infoclean
104
105 mostlyclean:
106 rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \
107 *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
108
109 clean: mostlyclean
110 rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
111 rm -f emacs-lispintro-${version}.tar*
112
113 distclean: clean
114 rm -f Makefile
115
116 infoclean:
117 rm -f \
118 $(buildinfodir)/eintr.info \
119 $(buildinfodir)/eintr.info-[1-9]
120
121 bootstrap-clean maintainer-clean: distclean infoclean
122
123 .PHONY: dist
124
125 dist:
126 rm -rf emacs-lispintro-${version}
127 mkdir emacs-lispintro-${version}
128 cp ${srcdir}/*.texi ${srcdir}/*.eps ${srcdir}/*.pdf \
129 ${texinfodir}/texinfo.tex ${emacsdir}/emacsver.texi \
130 ${srcdir}/ChangeLog* ${srcdir}/README emacs-lispintro-${version}/
131 sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \
132 -e 's/^\(emacsdir *=\).*/\1 ./' \
133 -e 's/^\(buildinfodir *=\).*/\1 ./' \
134 -e 's/^\(clean:.*\)/\1 infoclean/' \
135 -e "s/@ver[s]ion@/${version}/" \
136 -e 's/@MAKE[I]NFO@/makeinfo/' -e 's/@MK[D]IR_P@/mkdir -p/' \
137 ${srcdir}/Makefile.in > emacs-lispintro-${version}/Makefile
138 @if grep '@[a-zA-Z_]*@' emacs-lispintro-${version}/Makefile; then \
139 echo "Unexpanded configure variables in Makefile?" 1>&2; exit 1; \
140 fi
141 tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version}
142 rm -rf emacs-lispintro-${version}
143
144
145 .PHONY: install-dvi install-html install-pdf install-ps install-doc
146
147 install-dvi: dvi
148 umask 022; $(MKDIR_P) "$(DESTDIR)$(dvidir)"
149 $(INSTALL_DATA) $(DVI_TARGETS) "$(DESTDIR)$(dvidir)"
150 install-html: html
151 umask 022; $(MKDIR_P) "$(DESTDIR)$(htmldir)"
152 $(INSTALL_DATA) $(HTML_TARGETS) "$(DESTDIR)$(htmldir)"
153 install-pdf: pdf
154 umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)"
155 $(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)"
156 install-ps: ps
157 umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)"
158 for file in $(PS_TARGETS); do \
159 $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \
160 [ -n "${GZIP_PROG}" ] || continue; \
161 rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \
162 ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \
163 done
164
165 ## Top-level Makefile installs the info pages.
166 install-doc: install-dvi install-html install-pdf install-ps
167
168
169 .PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
170
171 uninstall-dvi:
172 for file in $(DVI_TARGETS); do \
173 rm -f "$(DESTDIR)$(dvidir)/$${file}"; \
174 done
175 uninstall-html:
176 for file in $(HTML_TARGETS); do \
177 rm -f "$(DESTDIR)$(htmldir)/$${file}"; \
178 done
179 uninstall-ps:
180 ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
181 for file in $(PS_TARGETS); do \
182 rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \
183 done
184 uninstall-pdf:
185 for file in $(PDF_TARGETS); do \
186 rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \
187 done
188
189 uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
190
191
192 ### Makefile ends here