fe9797d435372f25b864c41b93606cb2a150892d
[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 SRC_MAN1 = \
67         data/m17n-config.txt \
68         data/mconv.txt \
69         data/mview.txt \
70         data/mdate.txt \
71         data/mdump.txt \
72         data/medit.txt
73
74 SRC_MAN3 = \
75         @M17NLIB@/src/m17n-core.h \
76         @M17NLIB@/src/m17n.h \
77         @M17NLIB@/src/m17n-gui.h \
78         @M17NLIB@/src/m17n-X.h \
79         @M17NLIB@/src/m17n-err.h \
80         @M17NLIB@/src
81
82 SRC_MAN5 = \
83         data/dbformat.txt
84
85 SRC_ALL = \
86         data/mainpage.txt ${SRC_MAN3} ${SRC_MAN1} ${SRC_MAN5}
87
88 usr-html html-usr: usr/html/index.html usr/html/parrot.png
89 ja-html html-ja: ja/html/index.html ja/html/parrot.png
90 dev-html html-dev: dev/html/index.html dev/html/parrot.png
91
92 usr-latex latex-usr: usr/latex/m17n-lib.ps
93 ja-latex latex-ja: ja/latex/m17n-lib.ps
94 dev-latex latex-dev: dev/latex/m17n-lib.ps
95
96 usr-man man-usr: man/man1/m17n-config.1 man/man3/m17nIntro.3m17n man/man5/m17nDatabaseFormat.5
97 ja-man man-ja: ja/man3/m17nIntro.3m
98
99 usr: html-usr latex-usr man-usr
100 ja: html-ja latex-ja
101 dev: html-dev latex-dev
102
103 doxyfile-html: doxyfile
104         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
105             -e 's|%INPUT%|${SRC_ALL}|' \
106             -e 's|%GENERATE_HTML%|YES|' \
107             -e 's|%GENERATE_LATEX%|NO|' \
108             -e 's|%GENERATE_MAN%|NO|' \
109           < $< >$@
110
111 doxyfile-html.usr: doxyfile-html
112         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
113             -e 's/%USR_JA_DEV%/usr/g' \
114             -e 's/%OUTPUT_LANGUAGE%/English/' \
115           < $< >$@
116
117 doxyfile-html.dev: doxyfile-html
118         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
119             -e 's/%USR_JA_DEV%/dev/g' \
120             -e 's/%OUTPUT_LANGUAGE%/English/' \
121           < $< >$@
122
123 doxyfile-html.ja: doxyfile-html
124         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
125             -e 's/%USR_JA_DEV%/ja/g' \
126             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
127           < $< >$@
128
129 doxyfile-latex: doxyfile
130         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
131             -e 's|%INPUT%|${SRC_ALL}|' \
132             -e 's|%GENERATE_HTML%|NO|' \
133             -e 's|%GENERATE_LATEX%|YES|' \
134             -e 's|%GENERATE_MAN%|NO|' \
135           < $< >$@
136
137 doxyfile-latex.usr: doxyfile-latex
138         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
139             -e 's/%USR_JA_DEV%/usr/g' \
140             -e 's/%OUTPUT_LANGUAGE%/English/' \
141           < $< >$@
142
143 doxyfile-latex.dev: doxyfile-latex
144         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
145             -e 's/%USR_JA_DEV%/dev/g' \
146             -e 's/%OUTPUT_LANGUAGE%/English/' \
147           < $< >$@
148
149 doxyfile-latex.ja: doxyfile-latex
150         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
151             -e 's/%USR_JA_DEV%/ja/g' \
152             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
153           < $< >$@
154
155 doxyfile-man1: doxyfile
156         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
157             -e 's|%INPUT%|${SRC_MAN1}|' \
158             -e 's|%GENERATE_HTML%|NO|' \
159             -e 's|%GENERATE_LATEX%|NO|' \
160             -e 's|%GENERATE_MAN%|YES|' \
161             -e 's|%MAN_EXTENSION%|.1|' \
162           < $< >$@
163
164 doxyfile-man3: doxyfile
165         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
166             -e 's|%INPUT%|${SRC_MAN3}|' \
167             -e 's|%GENERATE_HTML%|NO|' \
168             -e 's|%GENERATE_LATEX%|NO|' \
169             -e 's|%GENERATE_MAN%|YES|' \
170             -e 's|%MAN_EXTENSION%|.3m17n|' \
171           < $< >$@
172
173 doxyfile-man5: doxyfile
174         sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
175             -e 's|%INPUT%|${SRC_MAN5}|' \
176             -e 's|%GENERATE_HTML%|NO|' \
177             -e 's|%GENERATE_LATEX%|NO|' \
178             -e 's|%GENERATE_MAN%|YES|' \
179             -e 's|%MAN_EXTENSION%|.5|' \
180           < $< >$@
181
182 doxyfile-man%.usr: doxyfile-man%
183         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
184             -e 's/%USR_JA_DEV%/usr/g' \
185             -e 's/%OUTPUT_LANGUAGE%/English/' \
186           < $< >$@
187
188 data/mainpage.txt:
189
190 data/dbformat.txt:
191
192 data/m17n-config.txt: @M17NLIB@/m17n-config.in
193         sed -n -e '/BEG-DOXYGEN/,/END-DOXYGEN/ p' < $< > $@
194
195 data/%.txt: @M17NLIB@/example/%.c
196         sed -n -e '/BEG-DOXYGEN/,/END-DOXYGEN/ p' < $< > $@
197
198 %/html/index.html: doxyfile-html.% ${SRC_ALL} \
199                         header.html footer.html \
200                         utils/%_filter.rb m17n-lib.css
201         rm -rf `dirname $@`
202         ${DOXYGEN} $<
203
204 %/html/parrot.png: parrot.png
205         cp $< $@
206
207 %/latex/refman.tex: doxyfile-latex.% ${SRC_ALL} utils/%_filter.rb
208         rm -rf `dirname $@`
209         ${DOXYGEN} $<
210
211 %/latex/m17n-lib.tex: %/latex/refman.tex utils/refman-filter.sed
212         sed -f utils/refman-filter.sed < $< > $@
213
214 %/latex/m17n-lib.dvi: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
215         utils/latex.sh `dirname $@` latex
216
217 %/latex/m17n-lib.ps: %/latex/m17n-lib.dvi utils/dvips.sh
218         utils/dvips.sh `dirname $@` dvips
219 #       emacs -batch -q -l utils/mokuji.el -f write-mokuji $@
220
221 %/latex/m17n-lib.pdf: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
222         utils/latex.sh `dirname $@` pdflatex
223
224 %/man/man1/m17n-config.1: doxyfile-man1.% ${SRC_MAN1} utils/%_filter.rb
225         rm -rf `dirname $@`
226         ${DOXYGEN} $<
227
228 %/man/man3/m17nIntro.3m17n: doxyfile-man3.% ${SRC_MAN3} utils/%_filter.rb
229         rm -rf `dirname $@`
230         ${DOXYGEN} $<
231
232 %/man/man5/m17nDatabaseFormat.5: doxyfile-man5.% ${SRC_MAN5} utils/%_filter.rb
233         rm -rf `dirname $@`
234         ${DOXYGEN} $<
235
236 sample/man3/SampleGroup.3: sample.c
237         [ -d sample ] || mkdir sample
238         [ -d sample/man3 ] || mkdir sample/man3
239         -${DOXYGEN} -g doxytemp
240         echo "INPUT = sample.c" >> doxytemp
241         echo "GENERATE_LATEX = NO" >> doxytemp
242         echo "GENERATE_HTML = NO" >> doxytemp
243         echo "GENERATE_MAN = YES" >> doxytemp
244         echo "MAN_OUTPUT = sample" >> doxytemp
245         echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
246         ${DOXYGEN} doxytemp
247         rm -rf doxytemp
248
249 man/man1/%: usr/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb 
250         $(mkinstalldirs) man/man1
251         rm -rf doxywork man/man1/*
252         ruby utils/mkman.rb 1 usr/man/man1 man/man1
253
254 man/man3/%: usr/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb 
255         $(mkinstalldirs) man/man3
256         rm -rf doxywork usr/man3/*
257         ruby utils/mkman.rb 3m17n usr/man/man3 man/man3
258
259 man/man5/%: usr/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb 
260         $(mkinstalldirs) man/man5
261         rm -rf doxywork usr/man5/*
262         ruby utils/mkman.rb 5 usr/man/man5 man/man5
263
264 ja/man3m/%.3m: ja/man/man3/%.3m sample-ja.c utils/mkman.rb 
265         -${DOXYGEN} -g doxytemp
266         echo "INPUT = sample.c" >> doxytemp
267         echo "GENERATE_LATEX = NO" >> doxytemp
268         echo "GENERATE_HTML = NO" >> doxytemp
269         echo "GENERATE_MAN = YES" >> doxytemp
270         echo "MAN_OUTPUT = sample" >> doxytemp
271         echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
272         ${DOXYGEN} doxytemp
273         [ -d "ja/man3m" ] || mkdir -p ja/man3m
274         rm -rf ja/man3m/index.*
275         ruby utils/mkman.rb ja
276         rm -rf doxytemp sample
277
278 CLEANFILES=doxyfile-* *.tar.gz warning *~
279
280 clean-local:
281         rm -rf usr dev ja doxywork
282
283 WEBDIR = /project/web/extra/m17n-lib/m17n-docs
284
285 web: usr-html
286         [ -d ${WEBDIR} ] || mkdir ${WEBDIR}
287         [ -f ${distdir}.tar.gz ] || make dist
288         cp ${distdir}.tar.gz ${WEBDIR}
289         cp usr/html/* ${WEBDIR}
290
291 .PRECIOUS: %/latex/m17n-lib.tex %/man/man3/m17nIntro.3m ${SRC_ALL}
292
293 endif