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