83bb0d5b303a24d02252381b1b50da69bd8b623b
[m17n/m17n-docs.git] / Makefile.am
1 #       -*- coding: euc-jp; -*-
2
3 EXTRA_DIST = dev usr ja smallmule.gif
4
5 # The followings are for maintainers only.
6
7 if MAINTAINER_MODE
8
9 SRCFILES = $(shell echo @M17NLIB@/src/*.[ch])
10
11 STYLEPATH = @abs_srcdir@/styles
12
13 LATEX_JA = ${STYLEPATH}/doxygen-m17n.sty \
14         @abs_srcdir@/data-ja/header.tex \
15         @abs_srcdir@/data-ja/introduction.tex \
16         @abs_srcdir@/data-ja/m17n-basicC.tex \
17         @abs_srcdir@/data-ja/m17n-X.tex \
18         @abs_srcdir@/data-ja/m17n-database.tex \
19         @abs_srcdir@/data-ja/conclusion.tex
20
21 LATEX_USR = data-usr/m17n-lib.sty
22
23 LATEX_DEV = ${STYLEPATH}/doxygen-m17n.sty \
24         @abs_srcdir@/data-dev/header.tex \
25         @abs_srcdir@/data-dev/conclusion.tex
26
27 DOXYGEN = doxygen
28
29 PROJECT_NAME_EN = "The M17N Library"
30 PROJECT_NAME_JA = "Unix/Linux ÍÑ¿¸À¸ì¥é¥¤¥Ö¥é¥ê"
31
32 notarget:
33         @echo "Please specify one of the following targets:"
34         @echo "  usr-latex ja-latex dev-latex"
35         @echo "  usr-html ja-html dev-html"
36         @echo "  usr ja dev"
37         @echo "  all"
38
39 all: usr ja dev man
40
41 usr-html html-usr: usr/html/index.html
42 ja-html html-ja: ja/html/index.html
43 dev-html html-dev: dev/html/index.html
44
45 usr-latex latex-usr: usr/latex/m17n-lib.ps
46 ja-latex latex-ja: ja/latex/m17n-lib.ps
47 dev-latex latex-dev: dev/latex/m17n-lib.ps
48
49 usr-man man-usr: man/man3m/m17nIntro.3m
50
51 usr: html-usr latex-usr man-usr
52 ja: html-ja latex-ja
53 dev: html-dev latex-dev
54
55 doxyfile-html.usr: doxyfile Makefile
56         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
57             -e 's/%USR_JA_DEV%/usr/' \
58             -e 's/%INPUT_FILTER%/usr/' \
59             -e 's/%OUTPUT_LANGUAGE%/English/' \
60             -e 's|%GENERATE_HTML%|YES|' \
61             -e 's|%GENERATE_LATEX%|NO|' \
62             -e 's|%GENERATE_MAN%|NO|' \
63           < $< >$@
64
65 doxyfile-html.dev: doxyfile Makefile
66         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
67             -e 's/%USR_JA_DEV%/dev/' \
68             -e 's/%INPUT_FILTER%/dev/' \
69             -e 's/%OUTPUT_LANGUAGE%/English/' \
70             -e 's|%GENERATE_HTML%|YES|' \
71             -e 's|%GENERATE_LATEX%|NO|' \
72             -e 's|%GENERATE_MAN%|NO|' \
73           < $< >$@
74
75 doxyfile-html.ja: doxyfile Makefile
76         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
77             -e 's/%USR_JA_DEV%/ja/' \
78             -e 's/%INPUT_FILTER%/ja/' \
79             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
80             -e 's|%GENERATE_HTML%|YES|' \
81             -e 's|%GENERATE_LATEX%|NO|' \
82             -e 's|%GENERATE_MAN%|NO|' \
83           < $< >$@
84
85 doxyfile-latex.usr: doxyfile Makefile
86         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
87             -e 's/%USR_JA_DEV%/usr/' \
88             -e 's/%INPUT_FILTER%/usr/' \
89             -e 's/%OUTPUT_LANGUAGE%/English/' \
90             -e 's|%GENERATE_HTML%|NO|' \
91             -e 's|%GENERATE_LATEX%|YES|' \
92             -e 's|%GENERATE_MAN%|NO|' \
93           < $< >$@
94
95 doxyfile-latex.dev: doxyfile Makefile
96         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
97             -e 's/%USR_JA_DEV%/dev/' \
98             -e 's/%INPUT_FILTER%/dev/' \
99             -e 's/%OUTPUT_LANGUAGE%/English/' \
100             -e 's|%GENERATE_HTML%|NO|' \
101             -e 's|%GENERATE_LATEX%|YES|' \
102             -e 's|%GENERATE_MAN%|NO|' \
103           < $< >$@
104
105 doxyfile-latex.ja: doxyfile Makefile
106         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
107             -e 's/%USR_JA_DEV%/ja/' \
108             -e 's/%INPUT_FILTER%/ja/' \
109             -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
110             -e 's|%GENERATE_HTML%|NO|' \
111             -e 's|%GENERATE_LATEX%|YES|' \
112             -e 's|%GENERATE_MAN%|NO|' \
113           < $< >$@
114
115 doxyfile-man.usr: doxyfile Makefile
116         sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
117             -e 's/%USR_JA_DEV%/usr/' \
118             -e 's/%INPUT_FILTER%/usr/' \
119             -e 's/%OUTPUT_LANGUAGE%/English/' \
120             -e 's|%GENERATE_HTML%|NO|' \
121             -e 's|%GENERATE_LATEX%|NO|' \
122             -e 's|%GENERATE_MAN%|YES|' \
123           < $< >$@
124
125 %/html/index.html: doxyfile-html.% ${SRCFILES} data-%/mainpage.c m17n-lib.css
126         rm -rf `dirname $@`
127         ${DOXYGEN} $<
128
129 %/latex/refman.tex: doxyfile-latex.% ${SRCFILES} data-%/mainpage.c
130         rm -rf `dirname $@`
131         ${DOXYGEN} $<
132
133 %/latex/m17n-lib.tex: %/latex/refman.tex utils/refman-filter.sed
134         sed -f utils/refman-filter.sed < $< > $@
135
136 %/latex/m17n-lib.ps: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
137         utils/latex.sh `dirname $@` platex
138         emacs -batch -q -l utils/mokuji.el -f write-mokuji $@
139
140 %/latex/m17n-lib.pdf: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
141         utils/latex.sh `dirname $@ `pdflatex
142
143 doxyhead.txt: sample.c utils/mkheaderlist.rb
144
145 %/man/man3/m17nIntro.3m: doxyfile-man.% ${SRCFILES}
146         rm -rf `dirname $@`
147         ${DOXYGEN} $<
148
149 man/man3m/%.3m: usr/man/man3/%.3m sample.c utils/mkman.rb 
150         -${DOXYGEN} -g doxytemp
151         echo "INPUT = sample.c" >> doxytemp
152         echo "GENERATE_LATEX = NO" >> doxytemp
153         echo "GENERATE_HTML = NO" >> doxytemp
154         echo "GENERATE_MAN = YES" >> doxytemp
155         echo "MAN_OUTPUT = sample" >> doxytemp
156         echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
157         ${DOXYGEN} doxytemp
158         [ -d "man/man3m" ] || mkdir -p man/man3m
159         ruby utils/mkman.rb usr
160         rm -rf doxytemp sample
161
162 man/ja/man3m/%.3m: ja/man/man3/%.3m sample-ja.c utils/mkman.rb 
163         -${DOXYGEN} -g doxytemp
164         echo "INPUT = sample.c" >> doxytemp
165         echo "GENERATE_LATEX = NO" >> doxytemp
166         echo "GENERATE_HTML = NO" >> doxytemp
167         echo "GENERATE_MAN = YES" >> doxytemp
168         echo "MAN_OUTPUT = sample" >> doxytemp
169         echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
170         ${DOXYGEN} doxytemp
171         [ -d "man/ja/man3m" ] || mkdir -p man/ja/man3m
172         ruby utils/mkman.rb ja
173         rm -rf doxytemp sample
174
175 CLEANFILES = doxyfile doxyfile-*.* m17n.tag warning \
176         */html/index.html */latex/refman.*
177
178 DISTCLEANFILES = doxyfile *~
179
180 html/index.html: usr/html/index.html
181         [ -d html ] || mkdir html
182         cp usr/html/* html
183
184 latex/m17n-lib.ps: usr/latex/m17n-lib.ps
185         [ -d latex ] || mkdir latex
186         cp usr/latex/m17n-lib.dvi latex
187         cp usr/latex/m17n-lib.ps latex
188
189 pack: latex/m17n-lib.ps html/index.html man/man3m/m17nIntro.3m dist
190
191 endif
192 DISTFILES = latex html man