*** empty log message ***
[m17n/m17n-docs.git] / Makefile.am
1 # Makefile.am -- Makefile for the m17n library documentation.
2 # Copyright (C) 2003, 2004, 2005, 2006
3 #   National Institute of Advanced Industrial Science and Technology (AIST)
4 #   Registration Number H15PRO112
5
6 # This file is part of the m17n library documentation, a sub-part of
7 # the m17n library.
8
9 # The m17n library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU General Public License as
11 # published by the Free Software Foundation; either version 2, or (at
12 # your option) any later version.
13
14 # The m17n library is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18
19 # You should have received a copy of the GNU General Public License
20 # along with the m17n library; see the file COPYING.  If not, write to
21 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 # Boston, MA 02111-1307, USA.
23
24 ## Process this file with Automake to create Makefile.in
25
26 SUBDIRS = utils
27
28 pkgdata_DATA = \
29         usr/html/index.html \
30         usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps \
31         man/man1/m17n-config.1 \
32         man/man3/m17nIntro.3m17n \
33         man/man5/mdbGeneral.5
34
35 pkgdatadir = $(datadir)/m17n/docs
36
37 EXTRA_DIST = usr/html usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps \
38         man/man1 man/man3 man/man5 \
39         ja/html ja/latex/m17n-lib-ja.dvi ja/latex/m17n-lib-ja.ps
40
41 install-pkgdataDATA: $(pkgdata_DATA)
42         $(mkinstalldirs) $(pkgdatadir)/html
43         $(mkinstalldirs) $(mandir)/man1 $(mandir)/man3 $(mandir)/man5
44         $(INSTALL_DATA) usr/latex/m17n-lib.dvi $(pkgdatadir)/m17n-lib.dvi
45         $(INSTALL_DATA) usr/latex/m17n-lib.ps $(pkgdatadir)/m17n-lib.ps
46         cd usr/html; \
47           for f in *.html *.png; do \
48             $(INSTALL_DATA) $$f $(pkgdatadir)/html/$$f; \
49           done
50         cd man/man1; \
51           for f in *.1; do $(INSTALL_DATA) $$f $(mandir)/man1/$$f; done
52         cd man/man3; \
53           for f in *.3m17n; do $(INSTALL_DATA) $$f $(mandir)/man3/$$f; done
54         cd man/man5; \
55           for f in *.5; do $(INSTALL_DATA) $$f $(mandir)/man5/$$f; done
56
57 #
58 # The followings are for maintainers only.
59 #
60 if MAINTAINER_MODE
61
62 PROJECT_NAME_EN = "The m17n Library"
63 PROJECT_NAME_JA = "m17n ライブラリ"
64 PROJECT_VERSION = @PACKAGE_VERSION@
65
66 DOXYGEN = doxygen
67
68 EXAMPLE_PROGS = \
69         @M17NLIB@/example/mconv.c \
70         @M17NLIB@/example/mview.c \
71         @M17NLIB@/example/mdate.c \
72         @M17NLIB@/example/mdump.c \
73         @M17NLIB@/example/medit.c \
74         @M17NLIB@/example/mimx-anthy.c \
75         @M17NLIB@/example/mimx-ispell.c
76
77 DBFORMAT = \
78         @M17NDB@/FORMATS
79
80 MAN1 =  data/m17n-config.txt data/m17n-db.txt ${EXAMPLE_PROGS}
81
82 MAN3 =  @M17NLIB@/src/m17n-core.h \
83         @M17NLIB@/src/m17n.h \
84         @M17NLIB@/src/m17n-flt.h \
85         @M17NLIB@/src/m17n-gui.h \
86         @M17NLIB@/src/m17n-X.h \
87         @M17NLIB@/src/m17n-misc.h \
88         @M17NLIB@/src
89
90 MAN5 = ${DBFORMAT}
91
92 SRCALL = \
93         mainpage.txt \
94         ${MAN3} \
95         data/m17n-config.txt data/m17n-db.txt data/exprog.txt \
96         data/dbformat.txt data/dbdata.txt data/dbtutorial.txt fdl.txt
97
98 DBDATA = $(shell echo @M17NDB@/*.{dir,fst,tbl} @M17NDB@/MIM/*.mim @M17NDB@/FLT/*.flt @M17NDB@/LANGDATA/LANGUAGE.tbl)
99 DBIMAGE = $(shell echo images/*.png images/*.eps)
100
101 HTML_USR_TARGET = usr/html/index.html usr/html/parrot.png
102 HTML_JA_TARGET = ja/html/index.html ja/html/parrot.png
103 HTML_DEV_TARGET = dev/html/index.html dev/html/parrot.png
104 HTML_TARGET = ${HTML_USR_TARGET} ${HTML_JA_TARGET} ${HTML_DEV_TARGET}
105
106 usr-html html-usr: ${HTML_USR_TARGET}
107 ja-html html-ja: ${HTML_JA_TARGET}
108 dev-html html-dev: ${HTML_DEV_TARGET}
109
110 LATEX_USR_TARGET = usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps
111 LATEX_JA_TARGET = ja/latex/m17n-lib.dvi ja/latex/m17n-lib.ps
112 LATEX_DEV_TARGET = dev/latex/m17n-lib.dvi dev/latex/m17n-lib.ps
113 LATEX_TARGET = ${LATEX_USR_TARGET} ${LATEX_JA_TARGET} ${LATEX_DEV_TARGET}
114
115 usr-latex latex-usr: ${LATEX_USR_TARGET}
116 ja-latex latex-ja: ${LATEX_JA_TARGET}
117 dev-latex latex-dev: ${LATEX_DEV_TARGET}
118
119 MAN_TARGET = \
120         man/man1/m17n-config.1 \
121         man/man1/m17n-db.1 \
122         man/man3/m17nIntro.3m17n \
123         man/man5/mdbGeneral.5
124
125 usr-man man-usr: ${MAN_TARGET}
126
127 TARGET = ${HTML_TARGET} ${LATEX_TARGET} ${MAN_TARGET}
128
129 usr: usr-html usr-latex usr-man
130 ja: ja-html ja-latex
131 dev: dev-html dev-latex
132
133 html: usr-html ja-html dev-html
134 latex: usr-latex ja-latex dev-latex
135 man: usr-man
136
137 doxyfile-html: doxyfile ${SRCALL}
138         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
139             -e 's|%INPUT%|${SRCALL}|' \
140             -e 's|%GENERATE_HTML%|YES|' \
141             -e 's|%GENERATE_LATEX%|NO|' \
142             -e 's|%GENERATE_MAN%|NO|' \
143             -e 's|%ENABLED_SECTIONS%|FOR-HTML|' \
144           < $< >$@
145
146 doxyfile-html.usr: doxyfile-html
147         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
148             -e 's/%USR_JA_DEV%/usr/g' \
149             -e 's/%OUTPUT_LANGUAGE%/English/' \
150           < $< >$@
151
152 doxyfile-html.dev: doxyfile-html
153         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
154             -e 's/%USR_JA_DEV%/dev/g' \
155             -e 's/%OUTPUT_LANGUAGE%/English/' \
156           < $< >$@
157
158 doxyfile-html.ja: doxyfile-html
159         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
160             -e 's/%USR_JA_DEV%/ja/g' \
161             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
162           < $< >$@
163
164 doxyfile-latex: doxyfile ${SRCALL}
165         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
166             -e 's|%INPUT%|${SRCALL}|' \
167             -e 's|%GENERATE_HTML%|NO|' \
168             -e 's|%GENERATE_LATEX%|YES|' \
169             -e 's|%GENERATE_MAN%|NO|' \
170             -e 's|%ENABLED_SECTIONS%|FOR-LATEX|' \
171           < $< >$@
172
173 doxyfile-latex.usr: doxyfile-latex
174         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
175             -e 's/%USR_JA_DEV%/usr/g' \
176             -e 's/%OUTPUT_LANGUAGE%/English/' \
177           < $< >$@
178
179 doxyfile-latex.dev: doxyfile-latex
180         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
181             -e 's/%USR_JA_DEV%/dev/g' \
182             -e 's/%OUTPUT_LANGUAGE%/English/' \
183           < $< >$@
184
185 doxyfile-latex.ja: doxyfile-latex
186         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
187             -e 's/%USR_JA_DEV%/ja/g' \
188             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
189           < $< >$@
190
191 doxyfile-man1: doxyfile ${SRCALL}
192         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
193             -e 's|%INPUT%|${MAN1}|' \
194             -e 's|%GENERATE_HTML%|NO|' \
195             -e 's|%GENERATE_LATEX%|NO|' \
196             -e 's|%GENERATE_MAN%|YES|' \
197             -e 's|%MAN_EXTENSION%|.1|' \
198             -e 's|%ENABLED_SECTIONS%|FOR-MAN|' \
199           < $< >$@
200
201 doxyfile-man3: doxyfile ${SRCALL}
202         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
203             -e 's|%INPUT%|${MAN3}|' \
204             -e 's|%GENERATE_HTML%|NO|' \
205             -e 's|%GENERATE_LATEX%|NO|' \
206             -e 's|%GENERATE_MAN%|YES|' \
207             -e 's|%MAN_EXTENSION%|.3m17n|' \
208             -e 's|%ENABLED_SECTIONS%|FOR-MAN|' \
209           < $< >$@
210
211 doxyfile-man5: doxyfile ${SRCALL}
212         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
213             -e 's|%INPUT%|${MAN5}|' \
214             -e 's|%GENERATE_HTML%|NO|' \
215             -e 's|%GENERATE_LATEX%|NO|' \
216             -e 's|%GENERATE_MAN%|YES|' \
217             -e 's|%MAN_EXTENSION%|.5|' \
218             -e 's|%ENABLED_SECTIONS%|FOR-MAN|' \
219           < $< >$@
220
221 doxyfile-man%.usr: doxyfile-man%
222         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
223             -e 's/%USR_JA_DEV%/usr/g' \
224             -e 's/%OUTPUT_LANGUAGE%/English/' \
225           < $< >$@
226
227 data/exprog.txt: ${EXAMPLE_PROGS} utils/exprog.sh
228         utils/exprog.sh ${EXAMPLE_PROGS} > $@
229
230 data/dbdata.txt: ${DBDATA} ${DBIMAGE} @M17NDB@/mdb.dir utils/dbdata.awk utils/dbdata.sh utils/imdoc.c
231         (cd utils; make)
232         @AWK@ -f utils/dbdata.awk @M17NDB@/mdb.dir > $@
233
234 data/dbformat.txt: ${DBFORMAT} utils/dbformat.sh
235         utils/dbformat.sh ${DBFORMAT} > $@
236
237 data/dbtutorial.txt: ${DBFORMAT} utils/dbtutorial.sh
238         utils/dbtutorial.sh ${DBFORMAT} > $@
239
240 data/m17n-config.txt: @M17NLIB@/m17n-config.in
241         sed -n -e '/\/\*\*\*/,/\*\// p' < $< > $@
242
243 data/m17n-db.txt: @M17NDB@/m17n-db.in
244         sed -n -e '/\/\*\*\*/,/\*\// p' < $< > $@
245
246 %/html/index.html: doxyfile-html.% header.%.html footer.%.html ${SRCALL} \
247                         utils/%_filter.rb m17n-lib.css
248         rm -f `dirname $@`/*.html
249         ${DOXYGEN} $<
250         cp images/icon-*.png `dirname $@`
251         cd `dirname $@`; rm -f *_8c* *_8h* *_8txt* dirs.html dir_* files.html
252         echo 'code { font-weight: bold }' >> `dirname $@`/doxygen.css
253
254 %/html/parrot.png: parrot.png
255         cp $< $@
256
257 %/latex/refman.tex: doxyfile-latex.% ${SRCALL} utils/%_filter.rb
258         rm -rf `dirname $@`
259         ${DOXYGEN} $<
260         cd `dirname $@`; rm -f *_8c* *_8h* *_8txt* dirs.tex dir_* files.tex
261
262 %/latex/m17n-lib.dvi: %/latex/refman.tex styles/m17n-lib.sty utils/latex.sh
263         -utils/latex.sh `dirname $@` latex
264
265 %/latex/m17n-lib.ps: %/latex/m17n-lib.dvi utils/dvips.sh
266         utils/dvips.sh `dirname $@` dvips
267 #       emacs -batch -q -l utils/mokuji.el -f write-mokuji $@
268
269 %/latex/m17n-lib.pdf: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
270         utils/latex.sh `dirname $@` pdflatex
271
272 %/man/man1/m17n-config.1: doxyfile-man1.% ${MAN1} utils/%_filter.rb
273         rm -rf `dirname $@`
274         cp doxyfile-man1.usr temp
275         ${DOXYGEN} $<
276         cd `dirname $@`; rm -f _*.1 *.c.1 *.txt.1
277
278 %/man/man3/m17nIntro.3m17n: doxyfile-man3.% ${MAN3} utils/%_filter.rb
279         rm -rf `dirname $@`
280         ${DOXYGEN} $<
281
282 %/man/man5/mdbGeneral.5: doxyfile-man5.% ${MAN5} utils/%_filter.rb
283         rm -rf `dirname $@`
284         ${DOXYGEN} $<
285
286 sample/man3/SampleGroup.3: sample.c
287         [ -d sample ] || mkdir sample
288         [ -d sample/man3 ] || mkdir sample/man3
289         -${DOXYGEN} -g doxytemp
290         echo "INPUT = sample.c" >> doxytemp
291         echo "GENERATE_LATEX = NO" >> doxytemp
292         echo "GENERATE_HTML = NO" >> doxytemp
293         echo "GENERATE_MAN = YES" >> doxytemp
294         echo "MAN_OUTPUT = sample" >> doxytemp
295         echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
296         ${DOXYGEN} doxytemp
297         rm -rf doxytemp
298
299 man/man1/%: usr/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb 
300         $(mkinstalldirs) man/man1
301         rm -rf doxywork man/man1/*
302         ruby utils/mkman.rb 1 usr/man/man1 man/man1
303
304 man/man3/%: usr/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb 
305         $(mkinstalldirs) man/man3
306         rm -rf doxywork man/man3/*
307         ruby utils/mkman.rb 3m17n usr/man/man3m17n man/man3
308
309 man/man5/%: usr/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb 
310         $(mkinstalldirs) man/man5
311         rm -rf doxywork man/man5/*
312         ruby utils/mkman.rb 5 usr/man/man5 man/man5
313
314 man/ja/man1/%: ja/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb 
315         $(mkinstalldirs) man/ja/man1
316         rm -rf doxywork man/ja/man1/*
317         ruby utils/mkman.rb 1 ja/man/man1 man/ja/man1
318
319 man/ja/man3/%: ja/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb 
320         $(mkinstalldirs) man/ja/man3
321         rm -rf doxywork man/ja/man3/*
322         ruby utils/mkman.rb 3m17n ja/man/man3 man/ja/man3
323
324 man/ja/man5/%: ja/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb 
325         $(mkinstalldirs) man/ja/man5
326         rm -rf doxywork man/ja/man5/*
327         ruby utils/mkman.rb 5 ja/man/man5 man/ja/man5
328
329 CLEANFILES=doxyfile-* ${TARGET} *.tar.gz warning *~
330
331 clean-local:
332         rm -rf usr dev ja man doxywork
333
334 WEBDIR = /project/web/extra/m17n-lib
335
336 release: dist
337         [ -d ${WEBDIR}/m17n-docs ] || mkdir ${WEBDIR}/m17n-docs
338         [ -d ${WEBDIR}/download ] || mkdir ${WEBDIR}/download
339         cd usr/html; for f in *; do \
340           case $$f in *8c*);; *8h*);; *8txt*);; dirs.html);; dir_*);; files.html);; *) cp $$f ${WEBDIR}/m17n-docs;; esac; \
341         done
342         [ -d ${WEBDIR}-ja2/m17n-docs ] || mkdir ${WEBDIR}-ja2/m17n-docs
343         cd ja/html; for f in *; do \
344           case $$f in *8c*);; *8h*);; *8txt*);; dirs.html);; dir_*);; files.html);; *) cp $$f ${WEBDIR}-ja2/m17n-docs;; esac; \
345         done
346         cp ${distdir}.tar.gz ${WEBDIR}/download
347
348
349 .PRECIOUS: %/latex/refman.tex %/man/man3/m17nIntro.3m ${SRCALL}
350
351 endif
352
353 # Local Variables:
354 # coding: utf-8
355 # End: