one line /* */ type handling changed
[m17n/m17n-docs.git] / Makefile.am
1 # Makefile.am -- Makefile for the m17n library documentation.
2 # Copyright (C) 2003
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 pkgdata_DATA = \
27         usr/html/index.html \
28         usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps \
29         man/man1/m17nconfig.1 \
30         man/man3/m17nIntro.3m17n \
31         man/man5/mdbGeneral.5
32
33 pkgdatadir = $(datadir)/m17n-lib
34
35 EXTRA_DIST = usr/html usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps \
36         man/man1 man/man3 man/man5
37
38 install-pkgdataDATA: $(pkgdata_DATA)
39         $(mkinstalldirs) $(pkgdatadir)/html
40         $(mkinstalldirs) $(mandir)/man1 $(mandir)/man3 $(mandir)/man5
41         $(INSTALL_DATA) usr/latex/m17n-lib.dvi $(pkgdatadir)/m17n-lib.dvi
42         $(INSTALL_DATA) usr/latex/m17n-lib.ps $(pkgdatadir)/m17n-lib.ps
43         cd usr/html; \
44           for f in *.html; do $(INSTALL_DATA) $$f $(pkgdatadir)/html/$$f; done
45         cd usr/html; \
46           for f in *.png; do $(INSTALL_DATA) $$f $(pkgdatadir)/html/$$f; done
47         cd man/man1; \
48           for f in *.1; do $(INSTALL_DATA) $$f $(mandir)/man1/$$f; done
49         cd man/man3; \
50           for f in *.3m17n; do $(INSTALL_DATA) $$f $(mandir)/man3/$$f; done
51         cd man/man5; \
52           for f in *.5; do $(INSTALL_DATA) $$f $(mandir)/man5/$$f; done
53
54 #
55 # The followings are for maintainers only.
56 #
57 if MAINTAINER_MODE
58
59 PROJECT_NAME_EN = "The M17N Library"
60 PROJECT_NAME_JA = "M17N ¥é¥¤¥Ö¥é¥ê"
61 PROJECT_VERSION = @PACKAGE_VERSION@
62
63 DOXYGEN = doxygen
64
65 EXAMPLE_PROGS = \
66         @M17NLIB@/example/mconv.c \
67         @M17NLIB@/example/mview.c \
68         @M17NLIB@/example/mdate.c \
69         @M17NLIB@/example/mdump.c \
70         @M17NLIB@/example/medit.c \
71         @M17NLIB@/example/mimx-anthy.c \
72         @M17NLIB@/example/mimx-ispell.c
73
74 EXAMPLE_MIMS = \
75         @M17NLIB@/example/anthy.mim \
76         @M17NLIB@/example/ispell.mim
77
78 DBFORMAT = \
79         @M17NDB@/FORMATS
80
81 MAN1 =  data/m17n-config.txt ${EXAMPLE_PROGS}
82
83 MAN3 =  @M17NLIB@/src/m17n-core.h \
84         @M17NLIB@/src/m17n.h \
85         @M17NLIB@/src/m17n-gui.h \
86         @M17NLIB@/src/m17n-X.h \
87         @M17NLIB@/src/m17n-err.h \
88         @M17NLIB@/src
89
90 MAN5 = ${DBFORMAT}
91
92 SRCALL = \
93         mainpage.txt \
94         ${MAN3} \
95         data/m17n-config.txt data/exprog.txt data/exmim.txt data/dbformat.txt \
96         data/db-mim.txt data/db-flt.txt
97
98 DB_MIM = $(shell echo @M17NDB@/*.mim)
99
100 DB_FLT = $(shell echo @M17NDB@/*.flt)
101
102 HTML_USR_TARGET = usr/html/index.html usr/html/parrot.png
103 HTML_JA_TARGET = ja/html/index.html ja/html/parrot.png
104 HTML_DEV_TARGET = dev/html/index.html dev/html/parrot.png
105 HTML_TARGET = ${HTML_USR_TARGET} ${HTML_JA_TARGET} ${HTML_DEV_TARGET}
106
107 usr-html html-usr: ${HTML_USR_TARGET}
108 ja-html html-ja: ${HTML_JA_TARGET}
109 dev-html html-dev: ${HTML_DEV_TARGET}
110
111 LATEX_USR_TARGET = usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps
112 LATEX_JA_TARGET = ja/latex/m17n-lib.dvi ja/latex/m17n-lib.ps
113 LATEX_DEV_TARGET = dev/latex/m17n-lib.dvi dev/latex/m17n-lib.ps
114 LATEX_TARGET = ${LATEX_USR_TARGET} ${LATEX_JA_TARGET} ${LATEX_DEV_TARGET}
115
116 usr-latex latex-usr: ${LATEX_USR_TARGET}
117 ja-latex latex-ja: ${LATEX_JA_TARGET}
118 dev-latex latex-dev: ${LATEX_DEV_TARGET}
119
120 MAN_USR_TARGET = man/man1/m17n-config.1 man/man3/m17nIntro.3m17n man/man5/m17nDBgeneral.5
121 MAN_JA_TARGET = man/ja/man1/m17n-config.1 man/ja/man3/m17nIntro.3m17n man/ja/man5/m17nDatabaseFormat.5
122 MAN_TARGET = ${MAN_USR_TARGET} ${MAN_JA_TARGET}
123
124 usr-man man-usr: ${MAN_USR_TARGET}
125 ja-man man-ja: ${MAN_JA_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 ja-man
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 ja-man
136
137 doxyfile-html: doxyfile
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           < $< >$@
144
145 doxyfile-html.usr: doxyfile-html
146         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
147             -e 's/%USR_JA_DEV%/usr/g' \
148             -e 's/%OUTPUT_LANGUAGE%/English/' \
149           < $< >$@
150
151 doxyfile-html.dev: doxyfile-html
152         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
153             -e 's/%USR_JA_DEV%/dev/g' \
154             -e 's/%OUTPUT_LANGUAGE%/English/' \
155           < $< >$@
156
157 doxyfile-html.ja: doxyfile-html
158         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
159             -e 's/%USR_JA_DEV%/ja/g' \
160             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
161           < $< >$@
162
163 doxyfile-latex: doxyfile
164         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
165             -e 's|%INPUT%|${SRCALL}|' \
166             -e 's|%GENERATE_HTML%|NO|' \
167             -e 's|%GENERATE_LATEX%|YES|' \
168             -e 's|%GENERATE_MAN%|NO|' \
169           < $< >$@
170
171 doxyfile-latex.usr: doxyfile-latex
172         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
173             -e 's/%USR_JA_DEV%/usr/g' \
174             -e 's/%OUTPUT_LANGUAGE%/English/' \
175           < $< >$@
176
177 doxyfile-latex.dev: doxyfile-latex
178         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
179             -e 's/%USR_JA_DEV%/dev/g' \
180             -e 's/%OUTPUT_LANGUAGE%/English/' \
181           < $< >$@
182
183 doxyfile-latex.ja: doxyfile-latex
184         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
185             -e 's/%USR_JA_DEV%/ja/g' \
186             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
187           < $< >$@
188
189 doxyfile-man1: doxyfile
190         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
191             -e 's|%INPUT%|${MAN1}|' \
192             -e 's|%GENERATE_HTML%|NO|' \
193             -e 's|%GENERATE_LATEX%|NO|' \
194             -e 's|%GENERATE_MAN%|YES|' \
195             -e 's|%MAN_EXTENSION%|.1|' \
196           < $< >$@
197
198 doxyfile-man3: doxyfile
199         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
200             -e 's|%INPUT%|${MAN3}|' \
201             -e 's|%GENERATE_HTML%|NO|' \
202             -e 's|%GENERATE_LATEX%|NO|' \
203             -e 's|%GENERATE_MAN%|YES|' \
204             -e 's|%MAN_EXTENSION%|.3m17n|' \
205           < $< >$@
206
207 doxyfile-man5: doxyfile
208         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
209             -e 's|%INPUT%|${MAN5}|' \
210             -e 's|%GENERATE_HTML%|NO|' \
211             -e 's|%GENERATE_LATEX%|NO|' \
212             -e 's|%GENERATE_MAN%|YES|' \
213             -e 's|%MAN_EXTENSION%|.5|' \
214           < $< >$@
215
216 doxyfile-man%.usr: doxyfile-man%
217         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
218             -e 's/%USR_JA_DEV%/usr/g' \
219             -e 's/%OUTPUT_LANGUAGE%/English/' \
220           < $< >$@
221
222 data/exprog.txt: ${EXAMPLE_PROGS} utils/exprog.sh
223         utils/exprog.sh ${EXAMPLE_PROGS} > $@
224
225 data/exmim.txt: ${EXAMPLE_MIMS} utils/exmim.sh
226         utils/exmim.sh ${EXAMPLE_MIMS} > $@
227
228 data/db-mim.txt: ${DB_MIM} utils/db-mim.sh
229         utils/db-mim.sh ${DB_MIM} > $@
230
231 data/db-flt.txt: ${DB_FLT} utils/db-flt.sh
232         utils/db-flt.sh ${DB_FLT} > $@
233
234 data/dbformat.txt: ${DBFORMAT} utils/dbformat.sh
235         utils/dbformat.sh ${DBFORMAT}/*.txt > $@
236
237 data/m17n-config.txt: @M17NLIB@/m17n-config.in
238         sed -n -e '/\/\*\*\*/,/\*\// p' < $< > $@
239
240 %/html/index.html: doxyfile-html.% header.%.html footer.%.html ${SRCALL} \
241                         utils/%_filter.rb m17n-lib.css
242         rm -f `dirname $@`/*.html
243         ${DOXYGEN} $<
244         echo 'code { font-weight: bold }' >> `dirname $@`/doxygen.css
245
246 %/html/parrot.png: parrot.png
247         cp $< $@
248
249 %/latex/refman.tex: doxyfile-latex.% ${SRCALL} utils/%_filter.rb
250         rm -rf `dirname $@`
251         ${DOXYGEN} $<
252
253 %/latex/m17n-lib.dvi: %/latex/refman.tex data-%/m17n-lib.sty utils/latex.sh
254         utils/latex.sh `dirname $@` latex
255
256 %/latex/m17n-lib.ps: %/latex/m17n-lib.dvi utils/dvips.sh
257         utils/dvips.sh `dirname $@` dvips
258 #       emacs -batch -q -l utils/mokuji.el -f write-mokuji $@
259
260 %/latex/m17n-lib.pdf: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
261         utils/latex.sh `dirname $@` pdflatex
262
263 %/man/man1/m17n-config.1: doxyfile-man1.% ${MAN1} utils/%_filter.rb
264         rm -rf `dirname $@`
265         ${DOXYGEN} $<
266
267 %/man/man3/m17nIntro.3m17n: doxyfile-man3.% ${MAN3} utils/%_filter.rb
268         rm -rf `dirname $@`
269         ${DOXYGEN} $<
270
271 %/man/man5/m17nDBgeneral.5: doxyfile-man5.% ${MAN5} utils/%_filter.rb
272         rm -rf `dirname $@`
273         ${DOXYGEN} $<
274
275 sample/man3/SampleGroup.3: sample.c
276         [ -d sample ] || mkdir sample
277         [ -d sample/man3 ] || mkdir sample/man3
278         -${DOXYGEN} -g doxytemp
279         echo "INPUT = sample.c" >> doxytemp
280         echo "GENERATE_LATEX = NO" >> doxytemp
281         echo "GENERATE_HTML = NO" >> doxytemp
282         echo "GENERATE_MAN = YES" >> doxytemp
283         echo "MAN_OUTPUT = sample" >> doxytemp
284         echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
285         ${DOXYGEN} doxytemp
286         rm -rf doxytemp
287
288 man/man1/%: usr/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb 
289         $(mkinstalldirs) man/man1
290         rm -rf doxywork man/man1/*
291         ruby utils/mkman.rb 1 usr/man/man1 man/man1
292
293 man/man3/%: usr/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb 
294         $(mkinstalldirs) man/man3
295         rm -rf doxywork man/man3/*
296         ruby utils/mkman.rb 3m17n usr/man/man3 man/man3
297
298 man/man5/%: usr/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb 
299         $(mkinstalldirs) man/man5
300         rm -rf doxywork man/man5/*
301         ruby utils/mkman.rb 5 usr/man/man5 man/man5
302
303 man/ja/man1/%: ja/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb 
304         $(mkinstalldirs) man/ja/man1
305         rm -rf doxywork man/ja/man1/*
306         ruby utils/mkman.rb 1 ja/man/man1 man/ja/man1
307
308 man/ja/man3/%: ja/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb 
309         $(mkinstalldirs) man/ja/man3
310         rm -rf doxywork man/ja/man3/*
311         ruby utils/mkman.rb 3m17n ja/man/man3 man/ja/man3
312
313 man/ja/man5/%: ja/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb 
314         $(mkinstalldirs) man/ja/man5
315         rm -rf doxywork man/ja/man5/*
316         ruby utils/mkman.rb 5 ja/man/man5 man/ja/man5
317
318 CLEANFILES=doxyfile-* ${TARGET} *.tar.gz warning *~
319
320 clean-local:
321         rm -rf usr dev ja man doxywork
322
323 WEBDIR = /project/web/extra/m17n-lib/m17n-docs
324 FTPDIR = /ftp/pub/m17n-lib
325
326 release: dist
327         [ -d ${WEBDIR} ] || mkdir ${WEBDIR}
328         cp usr/html/* ${WEBDIR}
329         cp ${distdir}.tar.gz ${FTPDIR}
330
331
332 .PRECIOUS: %/latex/refman.tex %/man/man3/m17nIntro.3m ${SRCALL}
333
334 endif
335
336 # Local Variables:
337 # coding: euc-jp
338 # End: