# -*- coding: euc-jp; -*-
-
-EXTRA_DIST = dev usr ja smallmule.gif
-
-# The followings are for maintainers only.
+# This makefile is for maintainer only.
if MAINTAINER_MODE
-SRCFILES = $(shell echo @M17NLIB@/src/*.[ch])
-
-STYLEPATH = @abs_srcdir@/styles
-UTILPATH = @abs_srcdir@/utils
-
-LATEX_JA = ${STYLEPATH}/doxygen-m17n.sty \
- @abs_srcdir@/data-ja/header.tex \
- @abs_srcdir@/data-ja/introduction.tex \
- @abs_srcdir@/data-ja/m17n-basicC.tex \
- @abs_srcdir@/data-ja/m17n-X.tex \
- @abs_srcdir@/data-ja/m17n-database.tex \
- @abs_srcdir@/data-ja/conclusion.tex
+SRCFILES = $(shell echo @M17NLIB@/src/*.[ch] @M17NLIB@/example/README.txt)
-LATEX_USR = ${STYLEPATH}/doxygen-m17n.sty \
- @abs_srcdir@/data-usr/header.tex \
- @abs_srcdir@/data-usr/conclusion.tex
-
-LATEX_DEV = ${STYLEPATH}/doxygen-m17n.sty \
- @abs_srcdir@/data-dev/header.tex \
- @abs_srcdir@/data-dev/conclusion.tex
+PROJECT_NAME_EN = "The M17N Library"
+PROJECT_NAME_JA = "M17N ¿¸À¸ì¥é¥¤¥Ö¥é¥ê"
DOXYGEN = doxygen
-PROJECT_NAME_EN = "Multilingual Library for Unix/Linux"
-PROJECT_NAME_JA = "Unix/Linux ÍÑ¿¸À¸ì¥é¥¤¥Ö¥é¥ê"
-
-notarget:
- @echo "Please specify one of the following targets:"
- @echo " usr-latex ja-latex dev-latex"
- @echo " usr-html ja-html dev-html"
- @echo " usr ja dev"
- @echo " all"
-
-all: usr ja dev man
+all: usr ja dev
usr-html html-usr: usr/html/index.html
ja-html html-ja: ja/html/index.html
dev-html html-dev: dev/html/index.html
-usr-latex latex-usr: usr/latex/refman.ps
-ja-latex latex-ja: ja/latex/refman.ps
-dev-latex latex-dev: dev/latex/refman.ps
+usr-latex latex-usr: usr/latex/m17n-lib.ps
+ja-latex latex-ja: ja/latex/m17n-lib.ps
+dev-latex latex-dev: dev/latex/m17n-lib.ps
usr-man man-usr: man/man3m/m17nIntro.3m
ja: html-ja latex-ja
dev: html-dev latex-dev
-doxyfile-html.usr: doxyfile
- sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
- -e 's/%USR_JA_DEV%/usr/' \
- -e 's/%INPUT_FILTER%/usr/' \
- -e 's/%OUTPUT_LANGUAGE%/English/' \
- -e 's|%GENERATE_HTML%|YES|' \
+doxyfile-html: doxyfile Makefile
+ sed -e 's|%GENERATE_HTML%|YES|' \
-e 's|%GENERATE_LATEX%|NO|' \
-e 's|%GENERATE_MAN%|NO|' \
< $< >$@
-doxyfile-html.dev: doxyfile
+doxyfile-html.usr: doxyfile-html Makefile
sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
- -e 's/%USR_JA_DEV%/dev/' \
- -e 's/%INPUT_FILTER%/dev/' \
+ -e 's/%USR_JA_DEV%/usr/g' \
-e 's/%OUTPUT_LANGUAGE%/English/' \
- -e 's|%GENERATE_HTML%|YES|' \
- -e 's|%GENERATE_LATEX%|NO|' \
- -e 's|%GENERATE_MAN%|NO|' \
< $< >$@
-doxyfile-html.ja: doxyfile
+doxyfile-html.dev: doxyfile-html Makefile
+ sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
+ -e 's/%USR_JA_DEV%/dev/g' \
+ -e 's/%OUTPUT_LANGUAGE%/English/' \
+ < $< >$@
+
+doxyfile-html.ja: doxyfile-html Makefile
sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
- -e 's/%USR_JA_DEV%/ja/' \
- -e 's/%INPUT_FILTER%/ja/' \
+ -e 's/%USR_JA_DEV%/ja/g' \
-e 's/%OUTPUT_LANGUAGE%/Japanese/' \
- -e 's|%GENERATE_HTML%|YES|' \
- -e 's|%GENERATE_LATEX%|NO|' \
+ < $< >$@
+
+doxyfile-latex: doxyfile Makefile
+ sed -e 's|%GENERATE_HTML%|NO|' \
+ -e 's|%GENERATE_LATEX%|YES|' \
-e 's|%GENERATE_MAN%|NO|' \
< $< >$@
-doxyfile-latex.usr: doxyfile Makefile
+doxyfile-latex.usr: doxyfile-latex Makefile
sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
- -e 's/%USR_JA_DEV%/usr/' \
- -e 's/%INPUT_FILTER%/usr/' \
+ -e 's/%USR_JA_DEV%/usr/g' \
-e 's/%OUTPUT_LANGUAGE%/English/' \
- -e 's|%GENERATE_HTML%|NO|' \
- -e 's|%GENERATE_LATEX%|YES|' \
- -e 's|%GENERATE_MAN%|NO|' \
< $< >$@
-doxyfile-latex.dev: doxyfile
+doxyfile-latex.dev: doxyfile-latex Makefile
sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
- -e 's/%USR_JA_DEV%/dev/' \
- -e 's/%INPUT_FILTER%/dev/' \
+ -e 's/%USR_JA_DEV%/dev/g' \
-e 's/%OUTPUT_LANGUAGE%/English/' \
- -e 's|%GENERATE_HTML%|NO|' \
- -e 's|%GENERATE_LATEX%|YES|' \
- -e 's|%GENERATE_MAN%|NO|' \
< $< >$@
-doxyfile-latex.ja: doxyfile
+doxyfile-latex.ja: doxyfile-latex Makefile
sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
- -e 's/%USR_JA_DEV%/ja/' \
- -e 's/%INPUT_FILTER%/ja/' \
+ -e 's/%USR_JA_DEV%/ja/g' \
-e 's/%OUTPUT_LANGUAGE%/Japanese/' \
- -e 's|%GENERATE_HTML%|NO|' \
- -e 's|%GENERATE_LATEX%|YES|' \
- -e 's|%GENERATE_MAN%|NO|' \
< $< >$@
-doxyfile-man.usr: doxyfile
- sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
- -e 's/%USR_JA_DEV%/usr/' \
- -e 's/%INPUT_FILTER%/usr/' \
- -e 's/%OUTPUT_LANGUAGE%/English/' \
- -e 's|%GENERATE_HTML%|NO|' \
+doxyfile-man: doxyfile Makefile
+ sed -e 's|%GENERATE_HTML%|NO|' \
-e 's|%GENERATE_LATEX%|NO|' \
-e 's|%GENERATE_MAN%|YES|' \
< $< >$@
-%/html/index.html: doxyfile-html.% ${SRCFILES}
+doxyfile-man.usr: doxyfile-man Makefile
+ sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
+ -e 's/%USR_JA_DEV%/usr/g' \
+ -e 's/%OUTPUT_LANGUAGE%/English/' \
+ < $< >$@
+
+%/html/index.html: doxyfile-html.% ${SRCFILES} data-%/mainpage.txt data-%/dbformat.txt \
+ utils/%_filter.rb m17n-lib.css
+ rm -rf `dirname $@`
${DOXYGEN} $<
-%/latex/refman.tex: doxyfile-latex.% ${UTILPATH}/refman-filter.awk ${SRCFILES}
- ${DOXYGEN} $<; \
- awk -f ${UTILPATH}/refman-filter.awk < $@ > temp; \
- mv temp $@
+%/latex/refman.tex: doxyfile-latex.% ${SRCFILES} data-%/mainpage.txt data-%/dbformat.txt \
+ utils/%_filter.rb
+ rm -rf `dirname $@`
+ ${DOXYGEN} $<
+
+%/latex/m17n-lib.tex: %/latex/refman.tex utils/refman-filter.sed
+ sed -f utils/refman-filter.sed < $< > $@
-ja/latex/refman.ps: ja/latex/refman.tex ${UTILPATH}/run-latex.sh ${LATEX_JA}
- ${UTILPATH}/run-latex.sh @abs_srcdir@ ja
- emacs -batch -q -l ${UTILPATH}/mokuji.el -f write-mokuji ja
+%/latex/m17n-lib.ps: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
+ utils/latex.sh `dirname $@` platex
+ emacs -batch -q -l utils/mokuji.el -f write-mokuji $@
-usr/latex/refman.ps: usr/latex/refman.tex ${UTILPATH}/run-latex.sh ${LATEX_USR}
- ${UTILPATH}/run-latex.sh @abs_srcdir@ usr
- emacs -batch -q -l ${UTILPATH}/mokuji.el -f write-mokuji usr
+%/latex/m17n-lib.pdf: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
+ utils/latex.sh `dirname $@ `pdflatex
-dev/latex/refman.ps: dev/latex/refman.tex ${UTILPATH}/run-latex.sh ${LATEX_DEV}
- ${UTILPATH}/run-latex.sh @abs_srcdir@ dev
- emacs -batch -q -l ${UTILPATH}/mokuji.el -f write-mokuji dev
+%/man/man3/m17nIntro.3m: doxyfile-man.% ${SRCFILES} utils/%_filter.rb
+ rm -rf `dirname $@`
+ ${DOXYGEN} $<
-doxyhead.txt: sample.c ${UTILPATH}/mkheaderlist.rb
- ${DOXYGEN} -g doxytemp
+man/man3m/%.3m: usr/man/man3/%.3m sample.c utils/mkman.rb
+ -${DOXYGEN} -g doxytemp
echo "INPUT = sample.c" >> doxytemp
echo "GENERATE_LATEX = NO" >> doxytemp
echo "GENERATE_HTML = NO" >> doxytemp
echo "GENERATE_MAN = YES" >> doxytemp
echo "MAN_OUTPUT = sample" >> doxytemp
+ echo "OPTIMIZE_OUTPUT_FOR_C = yes" >> doxytemp
${DOXYGEN} doxytemp
- (cd sample/man3; ruby ${UTILPATH}/mkheaderlist.rb) > $@
+ [ -d man/man3m ] || mkdir -p man/man3m
+ rm -rf man/index.*
+ ruby utils/mkman.rb usr
rm -rf doxytemp sample
-%/man/man3/m17nIntro.3m: doxyfile-man.% ${SRCFILES}
- ${DOXYGEN} $<
-
-man/man3m/m17nIntro.3m: usr/man/man3/m17nIntro.3m doxyhead.txt ${UTILPATH}/mkman.rb
- [ -d "man/man3m" ] || mkdir -p man/man3m
- ruby ${UTILPATH}/mkman.rb usr
-
-man/ja/man3m/m17nIntro.3m: ja/man/man3/m17nIntro.3m doxyhead.txt ${UTILPATH}/mkman.rb
+man/ja/man3m/%.3m: ja/man/man3/%.3m sample-ja.c utils/mkman.rb
+ -${DOXYGEN} -g doxytemp
+ echo "INPUT = sample.c" >> doxytemp
+ echo "GENERATE_LATEX = NO" >> doxytemp
+ echo "GENERATE_HTML = NO" >> doxytemp
+ echo "GENERATE_MAN = YES" >> doxytemp
+ echo "MAN_OUTPUT = sample" >> doxytemp
+ echo "OPTIMIZE_OUTPUT_FOR_C = yes" >> doxytemp
+ ${DOXYGEN} doxytemp
[ -d "man/ja/man3m" ] || mkdir -p man/ja/man3m
- ruby ${UTILPATH}/mkman.rb ja
-
-.PRECIOUS: %/latex/refman.tex
+ rm -rf man/index.*
+ ruby utils/mkman.rb ja
+ rm -rf doxytemp sample
CLEANFILES = doxyfile doxyfile-*.* m17n.tag warning \
*/html/index.html */latex/refman.*
DISTCLEANFILES = doxyfile *~
+html/index.html: usr/html/index.html
+ [ -d html ] || mkdir html
+ cp usr/html/* html
+
+latex/m17n-lib.ps: usr/latex/m17n-lib.ps
+ [ -d latex ] || mkdir latex
+ cp usr/latex/m17n-lib.dvi latex
+ cp usr/latex/m17n-lib.ps latex
+
+pack: latex/m17n-lib.ps html/index.html man/man3m/m17nIntro.3m dist
+
+.PRECIOUS: %/latex/m17n-lib.tex
+
endif
+DISTFILES = latex html man