]>
Commit | Line | Data |
---|---|---|
1 | # This Makefile is for the Bash/documentation directory -*- text -*-. | |
2 | # | |
3 | # Copyright (C) 2003 Free Software Foundation, Inc. | |
4 | ||
5 | # This program is free software; you can redistribute it and/or modify | |
6 | # it under the terms of the GNU General Public License as published by | |
7 | # the Free Software Foundation; either version 2, or (at your option) | |
8 | # any later version. | |
9 | ||
10 | # This program is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
14 | ||
15 | # You should have received a copy of the GNU General Public License | |
16 | # along with this program; if not, write to the Free Software | |
17 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. | |
18 | ||
19 | PACKAGE = @PACKAGE_NAME@ | |
20 | VERSION = @PACKAGE_VERSION@ | |
21 | ||
22 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | |
23 | PACKAGE_NAME = @PACKAGE_NAME@ | |
24 | PACKAGE_STRING = @PACKAGE_STRING@ | |
25 | PACKAGE_VERSION = @PACKAGE_VERSION@ | |
26 | ||
27 | # | |
28 | SHELL = @MAKE_SHELL@ | |
29 | RM = rm -f | |
30 | ||
31 | topdir = @top_srcdir@ | |
32 | srcdir = @srcdir@ | |
33 | VPATH = .:@srcdir@ | |
34 | ||
35 | prefix = @prefix@ | |
36 | exec_prefix = @exec_prefix@ | |
37 | ||
38 | infodir = @infodir@ | |
39 | ||
40 | # set this to a directory name to have the HTML files installed | |
41 | htmldir = @htmldir@ | |
42 | ||
43 | # Support an alternate destination root directory for package building | |
44 | DESTDIR = | |
45 | ||
46 | mandir = @mandir@ | |
47 | manpfx = man | |
48 | ||
49 | man1ext = .1 | |
50 | man1dir = $(mandir)/$(manpfx)1 | |
51 | man3ext = .3 | |
52 | man3dir = $(mandir)/$(manpfx)3 | |
53 | ||
54 | INSTALL = @INSTALL@ | |
55 | INSTALL_DATA = @INSTALL_DATA@ | |
56 | BUILD_DIR = @BUILD_DIR@ | |
57 | ||
58 | SUPPORT_SRCDIR = $(topdir)/support | |
59 | ||
60 | # bad style | |
61 | RL_LIBDIR = $(topdir)/lib/readline | |
62 | ||
63 | # unused | |
64 | TEXINDEX = texindex | |
65 | TEX = tex | |
66 | ||
67 | MAKEINFO = makeinfo | |
68 | TEXI2DVI = ${SUPPORT_SRCDIR}/texi2dvi | |
69 | TEXI2HTML = ${SUPPORT_SRCDIR}/texi2html | |
70 | MAN2HTML = ${BUILD_DIR}/support/man2html | |
71 | HTMLPOST = ${srcdir}/htmlpost.sh | |
72 | INFOPOST = ${srcdir}/infopost.sh | |
73 | QUIETPS = #set this to -q to shut up dvips | |
74 | PAPERSIZE = letter # change to a4 for A4-size paper | |
75 | PSDPI = 600 # could be 300 if you like | |
76 | DVIPS = dvips -D ${PSDPI} $(QUIETPS) -t ${PAPERSIZE} -o $@ # tricky | |
77 | ||
78 | TEXINPUTDIR = $(RL_LIBDIR)/doc | |
79 | SET_TEXINPUTS = TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS | |
80 | ||
81 | # These tools might not be available; they're not required | |
82 | DVIPDF = dvipdfm -o $@ -p ${PAPERSIZE} | |
83 | PSPDF = gs -sPAPERSIZE=${PAPERSIZE} -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sOutputFile=$@ | |
84 | ||
85 | MKDIRS = ${SUPPORT_SRCDIR}/mkdirs | |
86 | ||
87 | # This should be a program that converts troff to an ascii-readable format | |
88 | NROFF = groff -Tascii | |
89 | ||
90 | # This should be a program that converts troff to postscript | |
91 | GROFF = groff | |
92 | ||
93 | HSUSER = $(RL_LIBDIR)/doc/hsuser.texi | |
94 | RLUSER = $(RL_LIBDIR)/doc/rluser.texi | |
95 | ||
96 | BASHREF_FILES = $(srcdir)/bashref.texi $(srcdir)/version.texi | |
97 | ||
98 | .SUFFIXES: .0 .1 .3 .ms .ps .txt .dvi .html .pdf | |
99 | ||
100 | .1.ps: | |
101 | $(RM) $@ | |
102 | -${GROFF} -man $< > $@ | |
103 | ||
104 | .1.0: | |
105 | $(RM) $@ | |
106 | -${NROFF} -man $< > $@ | |
107 | ||
108 | .1.html: | |
109 | $(RM) $@ | |
110 | -${MAN2HTML} $< | ${HTMLPOST} > $@ | |
111 | ||
112 | .ms.ps: | |
113 | $(RM) $@ | |
114 | -${GROFF} -ms $< > $@ | |
115 | ||
116 | .ms.txt: | |
117 | $(RM) $@ | |
118 | -${NROFF} -ms $< > $@ | |
119 | ||
120 | .3.ps: | |
121 | $(RM) $@ | |
122 | -${GROFF} -man $< > $@ | |
123 | ||
124 | .3.0: | |
125 | $(RM) $@ | |
126 | -${NROFF} -man $< > $@ | |
127 | ||
128 | .3.html: | |
129 | $(RM) $@ | |
130 | -${MAN2HTML} $< > $@ | |
131 | ||
132 | .ps.pdf: | |
133 | $(RM) $@ | |
134 | -${PSPDF} $< | |
135 | ||
136 | .dvi.pdf: | |
137 | $(RM) $@ | |
138 | -${DVIPDF} $< | |
139 | ||
140 | .dvi.ps: | |
141 | ${RM} $@ | |
142 | -${DVIPS} $< | |
143 | ||
144 | all: ps info dvi text html | |
145 | nodvi: ps info text html | |
146 | ||
147 | PSFILES = bash.ps bashbug.ps article.ps builtins.ps rbash.ps | |
148 | DVIFILES = bashref.dvi bashref.ps | |
149 | INFOFILES = bashref.info | |
150 | MAN0FILES = bash.0 bashbug.0 builtins.0 rbash.0 | |
151 | HTMLFILES = bashref.html bash.html | |
152 | PDFFILES = bash.pdf bashref.pdf article.pdf rose94.pdf | |
153 | ||
154 | ps: ${PSFILES} | |
155 | dvi: ${DVIFILES} | |
156 | info: ${INFOFILES} | |
157 | text: ${MAN0FILES} | |
158 | html: ${HTMLFILES} | |
159 | pdf: ${PDFFILES} | |
160 | ||
161 | bashref.dvi: $(BASHREF_FILES) $(HSUSER) $(RLUSER) | |
162 | ${SET_TEXINPUTS} $(TEXI2DVI) $(srcdir)/bashref.texi | |
163 | ||
164 | bashref.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER) | |
165 | $(MAKEINFO) --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi | |
166 | ||
167 | bashref.html: $(BASHREF_FILES) $(HSUSER) $(RLUSER) | |
168 | $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/bashref.texi | |
169 | ||
170 | bash.info: bashref.info | |
171 | ${SHELL} ${INFOPOST} < $(srcdir)/bashref.info > $@ ; \ | |
172 | ||
173 | bash.txt: bash.1 | |
174 | bash.ps: bash.1 | |
175 | bash.html: bash.1 $(MAN2HTML) | |
176 | bashbug.ps: bashbug.1 | |
177 | builtins.ps: builtins.1 bash.1 | |
178 | rbash.ps: rbash.1 bash.1 | |
179 | bash.0: bash.1 | |
180 | bashbug.0: bashbug.1 | |
181 | builtins.0: builtins.1 bash.1 | |
182 | rbash.0: rbash.1 bash.1 | |
183 | article.ps: article.ms | |
184 | ||
185 | bashref.ps: bashref.dvi | |
186 | ||
187 | article.pdf: article.ps | |
188 | bashref.pdf: bashref.dvi | |
189 | bash.pdf: bash.ps | |
190 | rose94.pdf: rose94.ps | |
191 | ||
192 | $(MAN2HTML): ${topdir}/support/man2html.c | |
193 | -( cd ${BUILD_DIR}/support ; ${MAKE} ${MFLAGS} man2html) | |
194 | ||
195 | clean: | |
196 | $(RM) *.aux *.bak *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps \ | |
197 | *.pgs *.bt *.bts *.rw *.rws *.fns *.kys *.tps *.vrs *.o | |
198 | ${RM} core *.core | |
199 | ||
200 | mostlyclean: clean | |
201 | $(RM) Makefile | |
202 | ||
203 | distclean: clean maybe-clean | |
204 | $(RM) Makefile | |
205 | ||
206 | maintainer-clean: clean | |
207 | ${RM} ${PSFILES} ${DVIFILES} ${INFOFILES} ${MAN0FILES} ${HTMLFILES} | |
208 | ${RM} ${CREATED_FAQ} | |
209 | $(RM) Makefile | |
210 | ||
211 | maybe-clean: | |
212 | -if test "X$(topdir)" != "X$(BUILD_DIR)"; then \ | |
213 | $(RM) ${PSFILES} ${DVIFILES} ${INFOFILES} ${MAN0FILES} ${HTMLFILES}; \ | |
214 | fi | |
215 | ||
216 | installdirs: | |
217 | -$(SHELL) $(SUPPORT_SRCDIR)/mkinstalldirs $(DESTDIR)$(man1dir) | |
218 | -$(SHELL) $(SUPPORT_SRCDIR)/mkinstalldirs $(DESTDIR)$(infodir) | |
219 | -if test -n "$(htmldir)" ; then \ | |
220 | $(SHELL) $(SUPPORT_SRCDIR)/mkinstalldirs $(DESTDIR)$(htmldir) ; \ | |
221 | fi | |
222 | ||
223 | install: info installdirs bash.info | |
224 | -$(INSTALL_DATA) $(srcdir)/bash.1 $(DESTDIR)$(man1dir)/bash${man1ext} | |
225 | -$(INSTALL_DATA) $(srcdir)/bashbug.1 $(DESTDIR)$(man1dir)/bashbug${man1ext} | |
226 | # uncomment the next line to install the builtins man page | |
227 | # -$(INSTALL_DATA) $(srcdir)/builtins.1 $(DESTDIR)$(man1dir)/bash_builtins${man1ext} | |
228 | -$(INSTALL_DATA) $(srcdir)/bash.info $(DESTDIR)$(infodir)/bash.info | |
229 | # run install-info if it is present to update the info directory | |
230 | if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \ | |
231 | install-info --dir-file=$(DESTDIR)$(infodir)/dir $(DESTDIR)$(infodir)/bash.info; \ | |
232 | else true; fi | |
233 | # if htmldir is set, install the html files into that directory | |
234 | -if test -n "${htmldir}" ; then \ | |
235 | $(INSTALL_DATA) $(srcdir)/bash.html $(DESTDIR)$(htmldir) ; \ | |
236 | $(INSTALL_DATA) $(srcdir)/bashref.html $(DESTDIR)$(htmldir) ; \ | |
237 | fi | |
238 | ||
239 | uninstall: | |
240 | -$(RM) $(DESTDIR)$(man1dir)/bash${man1ext} $(DESTDIR)$(man1dir)/bashbug${man1ext} | |
241 | $(RM) $(DESTDIR)$(infodir)/bash.info | |
242 | -if test -n "$(htmldir)" ; then \ | |
243 | $(RM) $(DESTDIR)$(htmldir)/bash.html ; \ | |
244 | $(RM) $(DESTDIR)$(htmldir)/bashref.html ; \ | |
245 | fi | |
246 | ||
247 | # for use by chet | |
248 | CREATED_FAQ = faq.news faq.news2 faq.mail faq.version | |
249 | ||
250 | faq: ${CREATED_FAQ} | |
251 | ||
252 | faq.version: FAQ.version FAQ | |
253 | sh mkfaqvers FAQ.version > $@ | |
254 | ||
255 | faq.headers.mail: FAQ.headers.mail FAQ | |
256 | sh mkfaqvers FAQ.headers.mail > $@ | |
257 | ||
258 | faq.headers.news: FAQ.headers.news FAQ | |
259 | sh mkfaqvers FAQ.headers.news > $@ | |
260 | ||
261 | faq.headers.news2: FAQ.headers.news2 FAQ | |
262 | sh mkfaqvers FAQ.headers.news2 > $@ | |
263 | ||
264 | faq.news: FAQ faq.headers.news faq.version | |
265 | $(RM) $@ | |
266 | cat faq.headers.news faq.version FAQ > $@ | |
267 | ||
268 | faq.news2: FAQ faq.headers.news2 faq.version | |
269 | $(RM) $@ | |
270 | cat faq.headers.news2 faq.version FAQ > $@ | |
271 | ||
272 | faq.mail: FAQ faq.headers.mail faq.version | |
273 | $(RM) $@ | |
274 | cat faq.headers.mail faq.version FAQ > $@ | |
275 | ||
276 | inst: bashref.texi | |
277 | $(SHELL) ./mkinstall | |
278 | cmp -s INSTALL ../INSTALL || mv INSTALL ../INSTALL | |
279 | $(RM) INSTALL | |
280 | ||
281 | posix: bashref.texi | |
282 | $(SHELL) ./mkposix | |
283 | cmp -s POSIX ../POSIX || mv POSIX ../POSIX | |
284 | $(RM) POSIX | |
285 | ||
286 | rbash: bashref.texi | |
287 | $(SH) ./mkrbash | |
288 | cmp -s RBASH ../RBASH || mv RBASH ../RBASH | |
289 | $(RM) RBASH | |
290 | ||
291 | xdist: pdf inst posix rbash |