*** empty log message ***
[m17n/m17n-docs.git] / Makefile.am
index 6569044..447ee44 100644 (file)
-#      -*- coding: euc-jp; -*-
-# This makefile is for maintainer only.
+# Makefile.am -- Makefile for the m17n library documentation.
+# Copyright (C) 2003, 2004, 2005, 2006
+#   National Institute of Advanced Industrial Science and Technology (AIST)
+#   Registration Number H15PRO112
 
-pkgdata_DATA = \
-       usr/html/index.html \
-       usr/man3m/m17nIntro.3m \
-       usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps
+# This file is part of the m17n library documentation, a sub-part of
+# the m17n library.
 
+# The m17n library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2, or (at
+# your option) any later version.
 
-if MAINTAINER_MODE
+# The m17n library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
 
-SRCFILES = $(shell echo @M17NLIB@/src/*.[ch] @M17NLIB@/example/README.txt)
+# You should have received a copy of the GNU General Public License
+# along with the m17n library; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
-PROJECT_NAME_EN = "The M17N Library"
-PROJECT_NAME_JA = "M17N Â¿¸À¸ì¥é¥¤¥Ö¥é¥ê"
-PROJECT_VERSION = @PACKAGE_VERSION@
-M17NLIB = @M17NLIB@
+## Process this file with Automake to create Makefile.in
 
-DOXYGEN = doxygen
-
-usr-html html-usr: usr/html/index.html
-ja-html html-ja: ja/html/index.html
-dev-html html-dev: dev/html/index.html
+SUBDIRS = utils
 
-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
+pkgdata_DATA = \
+       usr/html/index.html \
+       usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps \
+       man/man1/m17n-config.1 \
+       man/man3/m17nIntro.3m17n \
+       man/man5/mdbGeneral.5
+
+pkgdatadir = $(datadir)/m17n/docs
+
+EXTRA_DIST = usr/html usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps \
+       man/man1 man/man3 man/man5 \
+       ja/html ja/latex/m17n-lib-ja.dvi ja/latex/m17n-lib-ja.ps
+
+install-pkgdataDATA: $(pkgdata_DATA)
+       $(mkinstalldirs) $(pkgdatadir)/html
+       $(mkinstalldirs) $(mandir)/man1 $(mandir)/man3 $(mandir)/man5
+       $(INSTALL_DATA) usr/latex/m17n-lib.dvi $(pkgdatadir)/m17n-lib.dvi
+       $(INSTALL_DATA) usr/latex/m17n-lib.ps $(pkgdatadir)/m17n-lib.ps
+       cd usr/html; \
+         for f in *.html *.png; do \
+           $(INSTALL_DATA) $$f $(pkgdatadir)/html/$$f; \
+         done
+       cd man/man1; \
+         for f in *.1; do $(INSTALL_DATA) $$f $(mandir)/man1/$$f; done
+       cd man/man3; \
+         for f in *.3m17n; do $(INSTALL_DATA) $$f $(mandir)/man3/$$f; done
+       cd man/man5; \
+         for f in *.5; do $(INSTALL_DATA) $$f $(mandir)/man5/$$f; done
+
+#
+# The followings are for maintainers only.
+#
+if MAINTAINER_MODE
 
-usr-man man-usr: usr/man3m/m17nIntro.3m
-ja-man man-ja: ja/man3m/m17nIntro.3m
+PROJECT_NAME_EN = "The m17n Library"
+PROJECT_NAME_JA = "m17n ライブラリ"
+PROJECT_VERSION = @PACKAGE_VERSION@
 
-usr: html-usr latex-usr man-usr
-ja: html-ja latex-ja
-dev: html-dev latex-dev
+DOXYGEN = doxygen
 
-doxyfile-html: doxyfile
+EXAMPLE_PROGS = \
+       @M17NLIB@/example/mconv.c \
+       @M17NLIB@/example/mview.c \
+       @M17NLIB@/example/mdate.c \
+       @M17NLIB@/example/mdump.c \
+       @M17NLIB@/example/medit.c \
+       @M17NLIB@/example/mimx-anthy.c \
+       @M17NLIB@/example/mimx-ispell.c
+
+DBFORMAT = \
+       @M17NDB@/FORMATS
+
+MAN1 = data/m17n-config.txt data/m17n-db.txt ${EXAMPLE_PROGS}
+
+MAN3 = @M17NLIB@/src/m17n-core.h \
+       @M17NLIB@/src/m17n.h \
+       @M17NLIB@/src/m17n-flt.h \
+       @M17NLIB@/src/m17n-gui.h \
+       @M17NLIB@/src/m17n-X.h \
+       @M17NLIB@/src/m17n-misc.h \
+       @M17NLIB@/src
+
+MAN5 = ${DBFORMAT}
+
+SRCALL = \
+       mainpage.txt \
+       ${MAN3} \
+       data/m17n-config.txt data/m17n-db.txt data/exprog.txt \
+       data/dbformat.txt data/dbdata.txt data/dbtutorial.txt fdl.txt
+
+DBDATA = $(shell ls @M17NDB@/*.{dir,fst,tbl} @M17NDB@/MIM/*.mim @M17NDB@/FLT/*.flt @M17NDB@/LANGDATA/LANGUAGE.tbl)
+DBIMAGE = $(shell ls images/*.png images/*.eps)
+
+HTML_USR_TARGET = usr/html/index.html usr/html/parrot.png
+HTML_JA_TARGET = ja/html/index.html ja/html/parrot.png
+HTML_DEV_TARGET = dev/html/index.html dev/html/parrot.png
+HTML_TARGET = ${HTML_USR_TARGET} ${HTML_JA_TARGET} ${HTML_DEV_TARGET}
+
+usr-html html-usr: ${HTML_USR_TARGET}
+ja-html html-ja: ${HTML_JA_TARGET}
+dev-html html-dev: ${HTML_DEV_TARGET}
+
+LATEX_USR_TARGET = usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps
+LATEX_JA_TARGET = ja/latex/m17n-lib.dvi ja/latex/m17n-lib.ps
+LATEX_DEV_TARGET = dev/latex/m17n-lib.dvi dev/latex/m17n-lib.ps
+LATEX_TARGET = ${LATEX_USR_TARGET} ${LATEX_JA_TARGET} ${LATEX_DEV_TARGET}
+
+usr-latex latex-usr: ${LATEX_USR_TARGET}
+ja-latex latex-ja: ${LATEX_JA_TARGET}
+dev-latex latex-dev: ${LATEX_DEV_TARGET}
+
+MAN_TARGET = \
+       man/man1/m17n-config.1 \
+       man/man1/m17n-db.1 \
+       man/man3/m17nIntro.3m17n \
+       man/man5/mdbGeneral.5
+
+usr-man man-usr: ${MAN_TARGET}
+
+TARGET = ${HTML_TARGET} ${LATEX_TARGET} ${MAN_TARGET}
+
+usr: usr-html usr-latex usr-man
+ja: ja-html ja-latex
+dev: dev-html dev-latex
+
+html: usr-html ja-html dev-html
+latex: usr-latex ja-latex dev-latex
+man: usr-man
+
+doxyfile: Makefile
+       ${DOXYGEN} -g - | \
+         sed -e '/^PROJECT_NAME / s/=.*/= %PROJECT_NAME%/' \
+             -e '/^PROJECT_NUMBER / s/=.*/= %PROJECT_NUMBER%/' \
+             -e '/^OUTPUT_DIRECTORY / s/=.*/= %USR_JA_DEV%/' \
+             -e '/^OUTPUT_LANGUAGE / s/=.*/= %OUTPUT_LANGUAGE%/' \
+             -e '/^OPTIMIZE_OUTPUT_FOR_C / s/=.*/= YES/' \
+             -e '/^EXTRACT_ALL / s/=.*/= NO/' \
+             -e '/^SHOW_INCLUDE_FILES / s/=.*/= NO/' \
+             -e '/^SHOW_MEMBER_DOCS / s/=.*/= NO/' \
+             -e '/^ENABLED_SECTIONS / s/=.*/= %ENABLED_SECTIONS%/' \
+             -e '/^SHOW_USED_FILES / s/=.*/= NO/' \
+             -e '/^INPUT / s/=.*/= %INPUT%/' \
+             -e '/^FILE_PATTERNS / s/=.*/= *.c *.txt/' \
+             -e '/^EXCLUDE_PATTERNS / s/=.*/= link*.c font-ft.c/' \
+             -e '/^IMAGE_PATH / s/=.*/= images/' \
+             -e '/^INPUT_FILTER / s/=.*/= utils\/%USR_JA_DEV%_filter.sh/' \
+             -e '/^VERBATIM_HEADERS / s/=.*/= NO/' \
+             -e '/^ALPHABETICAL_INDEX / s/=.*/= YES/' \
+             -e '/^IGNORE_PREFIX / s/=.*/= m M/' \
+             -e '/^GENERATE_HTML / s/=.*/= %GENERATE_HTML%/' \
+             -e '/^HTML_FOOTER / s/=.*/= footer.%USR_JA_DEV%.html/' \
+             -e '/^DISABLE_INDEX / s/=.*/= NO/' \
+             -e '/^ENUM_VALUES_PER_LINE / s/=.*/= 1/' \
+             -e '/^GENERATE_LATEX / s/=.*/= %GENERATE_LATEX%/' \
+             -e '/^EXTRA_PACKAGES / s/=.*/= m17n-lib times/' \
+             -e '/^PDF_HYPERLINKS / s/=.*/= NO/' \
+             -e '/^USE_PDFLATEX / s/=.*/= NO/' \
+             -e '/^LATEX_HIDE_INDICES / s/=.*/= YES/' \
+             -e '/^GENERATE_MAN / s/=.*/= %GENERATE_MAN%/' \
+             -e '/^MAN_EXTENSION / s/=.*/= %MAN_EXTENSION%/' \
+             -e '/^PREDEFINED / s/=.*/= FOR_DOXYGEN/' \
+             -e '/^GENERATE_TAGFILE / s/=.*/= m17n.tag/' \
+             -e '/^TYPEDEF_HIDES_STRUCT / s/=.*/= YES/' \
+             > $@
+
+doxyfile-html: doxyfile ${SRCALL}
        sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
-           -e 's|%M17NLIB%|@M17NLIB@|' \
+           -e 's|%INPUT%|${SRCALL}|' \
            -e 's|%GENERATE_HTML%|YES|' \
            -e 's|%GENERATE_LATEX%|NO|' \
            -e 's|%GENERATE_MAN%|NO|' \
+           -e 's|%ENABLED_SECTIONS%|FOR-HTML|' \
          < $< >$@
 
 doxyfile-html.usr: doxyfile-html
@@ -59,12 +197,13 @@ doxyfile-html.ja: doxyfile-html
            -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
          < $< >$@
 
-doxyfile-latex: doxyfile
+doxyfile-latex: doxyfile ${SRCALL}
        sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
-           -e 's|%M17NLIB%|@M17NLIB@|' \
+           -e 's|%INPUT%|${SRCALL}|' \
            -e 's|%GENERATE_HTML%|NO|' \
            -e 's|%GENERATE_LATEX%|YES|' \
            -e 's|%GENERATE_MAN%|NO|' \
+           -e 's|%ENABLED_SECTIONS%|FOR-LATEX|' \
          < $< >$@
 
 doxyfile-latex.usr: doxyfile-latex
@@ -85,62 +224,104 @@ doxyfile-latex.ja: doxyfile-latex
            -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
          < $< >$@
 
-doxyfile-man: doxyfile
+doxyfile-man1: doxyfile ${SRCALL}
+       sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
+           -e 's|%INPUT%|${MAN1}|' \
+           -e 's|%GENERATE_HTML%|NO|' \
+           -e 's|%GENERATE_LATEX%|NO|' \
+           -e 's|%GENERATE_MAN%|YES|' \
+           -e 's|%MAN_EXTENSION%|.1|' \
+           -e 's|%ENABLED_SECTIONS%|FOR-MAN|' \
+         < $< >$@
+
+doxyfile-man3: doxyfile ${SRCALL}
        sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
-           -e 's|%M17NLIB%|@M17NLIB@|' \
+           -e 's|%INPUT%|${MAN3}|' \
            -e 's|%GENERATE_HTML%|NO|' \
            -e 's|%GENERATE_LATEX%|NO|' \
            -e 's|%GENERATE_MAN%|YES|' \
+           -e 's|%MAN_EXTENSION%|.3m17n|' \
+           -e 's|%ENABLED_SECTIONS%|FOR-MAN|' \
          < $< >$@
 
-doxyfile-man.usr: doxyfile-man
+doxyfile-man5: doxyfile ${SRCALL}
+       sed -e 's|%PROJECT_NUMBER%|@PACKAGE_VERSION@|' \
+           -e 's|%INPUT%|${MAN5}|' \
+           -e 's|%GENERATE_HTML%|NO|' \
+           -e 's|%GENERATE_LATEX%|NO|' \
+           -e 's|%GENERATE_MAN%|YES|' \
+           -e 's|%MAN_EXTENSION%|.5|' \
+           -e 's|%ENABLED_SECTIONS%|FOR-MAN|' \
+         < $< >$@
+
+doxyfile-man%.usr: doxyfile-man%
        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 \
+data/exprog.txt: ${EXAMPLE_PROGS} utils/exprog.sh
+       utils/exprog.sh ${EXAMPLE_PROGS} > $@
+
+data/dbdata.txt: ${DBDATA} ${DBIMAGE} @M17NDB@/mdb.dir utils/dbdata.awk utils/dbdata.sh utils/imdoc.c
+       (cd utils; make)
+       @AWK@ -f utils/dbdata.awk @M17NDB@/mdb.dir > $@
+
+data/dbformat.txt: ${DBFORMAT} utils/dbformat.sh
+       utils/dbformat.sh ${DBFORMAT} > $@
+
+data/dbtutorial.txt: ${DBFORMAT} utils/dbtutorial.sh
+       utils/dbtutorial.sh ${DBFORMAT} > $@
+
+data/m17n-config.txt: @M17NLIB@/m17n-config.in
+       sed -n -e '/\/\*\*\*/,/\*\// p' < $< > $@
+
+data/m17n-db.txt: @M17NDB@/m17n-db.in
+       sed -n -e '/\/\*\*\*/,/\*\// p' < $< > $@
+
+%/html/index.html: doxyfile-html.% header.%.html footer.%.html ${SRCALL} \
                        utils/%_filter.rb m17n-lib.css
-       rm -rf `dirname $@`
+       rm -f `dirname $@`/*.html
        ${DOXYGEN} $<
+       cp images/icon-*.png `dirname $@`
+#      cd `dirname $@`; rm -f *_8c* *_8h* *_8txt* dirs.html dir_* files.html
+       echo 'code { font-weight: bold }' >> `dirname $@`/doxygen.css
 
-%/latex/refman.tex: doxyfile-latex.% ${SRCFILES} data-%/mainpage.txt data-%/dbformat.txt \
-                       utils/%_filter.rb
+%/html/parrot.png: parrot.png
+       cp $< $@
+
+%/latex/refman.tex: doxyfile-latex.% ${SRCALL} utils/%_filter.rb
        rm -rf `dirname $@`
        ${DOXYGEN} $<
+       cd `dirname $@`; rm -f *_8c* *_8h* *_8txt* dirs.tex dir_* files.tex
 
-%/latex/m17n-lib.tex: %/latex/refman.tex utils/refman-filter.sed
-       sed -f utils/refman-filter.sed < $< > $@
-
-%/latex/m17n-lib.dvi: %/latex/m17n-lib.tex
-       sed -f utils/refman-filter.sed < $< > $@
+%/latex/m17n-lib.dvi: %/latex/refman.tex styles/m17n-lib.sty utils/latex.sh
+       -utils/latex.sh `dirname $@` latex
 
-%/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 $@
+%/latex/m17n-lib.ps: %/latex/m17n-lib.dvi utils/dvips.sh
+       utils/dvips.sh `dirname $@` dvips
+#      emacs -batch -q -l utils/mokuji.el -f write-mokuji $@
 
 %/latex/m17n-lib.pdf: %/latex/m17n-lib.tex data-%/m17n-lib.sty utils/latex.sh
-       utils/latex.sh `dirname $@ `pdflatex
+       utils/latex.sh `dirname $@` pdflatex
 
-%/man/man3/m17nIntro.3m: doxyfile-man.% ${SRCFILES} utils/%_filter.rb
+%/man/man1/m17n-config.1: doxyfile-man1.% ${MAN1} utils/%_filter.rb
        rm -rf `dirname $@`
+       cp doxyfile-man1.usr temp
        ${DOXYGEN} $<
+       cd `dirname $@`; rm -f _*.1 *.c.1 *.txt.1
 
-usr/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
-       [ -d usr/man3m ] || mkdir -p usr/man3m
-       rm -rf usr/man3m/index.*
-       ruby utils/mkman.rb usr
-       rm -rf doxytemp sample
+%/man/man3/m17nIntro.3m17n: doxyfile-man3.% ${MAN3} utils/%_filter.rb
+       rm -rf `dirname $@`
+       ${DOXYGEN} $<
+
+%/man/man5/mdbGeneral.5: doxyfile-man5.% ${MAN5} utils/%_filter.rb
+       rm -rf `dirname $@`
+       ${DOXYGEN} $<
 
-man/ja/man3m/%.3m: ja/man/man3/%.3m sample-ja.c utils/mkman.rb 
+sample/man3/SampleGroup.3: sample.c
+       [ -d sample ] || mkdir sample
+       [ -d sample/man3 ] || mkdir sample/man3
        -${DOXYGEN} -g doxytemp
        echo "INPUT = sample.c" >> doxytemp
        echo "GENERATE_LATEX = NO" >> doxytemp
@@ -149,20 +330,68 @@ man/ja/man3m/%.3m: ja/man/man3/%.3m sample-ja.c utils/mkman.rb
        echo "MAN_OUTPUT = sample" >> doxytemp
        echo "OPTIMIZE_OUTPUT_FOR_C  = yes" >> doxytemp
        ${DOXYGEN} doxytemp
-       [ -d "man/ja/man3m" ] || mkdir -p man/ja/man3m
-       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 *~
-
-DISTFILES = usr/html usr/man3m usr/latex/m17n-lib.dvi usr/latex/m17n-lib.ps
-
-pack: latex/m17n-lib.ps html/index.html man/man3m/m17nIntro.3m dist
-
-.PRECIOUS: %/latex/m17n-lib.tex
+       rm -rf doxytemp
+
+man/man1/%: usr/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb \
+               utils/reform-man.sh
+       $(mkinstalldirs) man/man1
+       rm -rf doxywork man/man1/*
+       ruby utils/mkman.rb 1 usr/man/man1 man/man1
+       utils/reform-man.sh man/man1/*.1
+
+man/man3/%: usr/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb \
+               utils/reform-man.sh
+       $(mkinstalldirs) man/man3
+       rm -rf doxywork man/man3/*
+       ruby utils/mkman.rb 3m17n usr/man/man3m17n man/man3
+       utils/reform-man.sh man/man3/*.3m17n
+
+man/man5/%: usr/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb \
+               utils/reform-man.sh
+       $(mkinstalldirs) man/man5
+       rm -rf doxywork man/man5/*
+       ruby utils/mkman.rb 5 usr/man/man5 man/man5
+       utils/reform-man.sh man/man5/*.5
+
+man/ja/man1/%: ja/man/man1/% sample/man3/SampleGroup.3 utils/mkman.rb 
+       $(mkinstalldirs) man/ja/man1
+       rm -rf doxywork man/ja/man1/*
+       ruby utils/mkman.rb 1 ja/man/man1 man/ja/man1
+
+man/ja/man3/%: ja/man/man3/% sample/man3/SampleGroup.3 utils/mkman.rb
+       $(mkinstalldirs) man/ja/man3
+       rm -rf doxywork man/ja/man3/*
+       ruby utils/mkman.rb 3m17n ja/man/man3 man/ja/man3
+
+man/ja/man5/%: ja/man/man5/% sample/man3/SampleGroup.3 utils/mkman.rb 
+       $(mkinstalldirs) man/ja/man5
+       rm -rf doxywork man/ja/man5/*
+       ruby utils/mkman.rb 5 ja/man/man5 man/ja/man5
+
+CLEANFILES=doxyfile* ${TARGET} *.tar.gz warning *~
+
+clean-local:
+       rm -rf usr dev ja man doxywork
+
+WEBDIR = /project/web/extra/m17n-lib
+
+release: dist
+       [ -d ${WEBDIR}/m17n-docs ] || mkdir ${WEBDIR}/m17n-docs
+       [ -d ${WEBDIR}/download ] || mkdir ${WEBDIR}/download
+       cd usr/html; for f in *; do \
+         case $$f in *8c*);; *8h*);; *8txt*);; dirs.html);; dir_*);; files.html);; *) cp $$f ${WEBDIR}/m17n-docs;; esac; \
+       done
+       [ -d ${WEBDIR}-ja2/m17n-docs ] || mkdir ${WEBDIR}-ja2/m17n-docs
+       cd ja/html; for f in *; do \
+         case $$f in *8c*);; *8h*);; *8txt*);; dirs.html);; dir_*);; files.html);; *) cp $$f ${WEBDIR}-ja2/m17n-docs;; esac; \
+       done
+       cp ${distdir}.tar.gz ${WEBDIR}/download
+
+
+.PRECIOUS: %/latex/refman.tex %/man/man3/m17nIntro.3m ${SRCALL}
 
 endif
+
+# Local Variables:
+# coding: utf-8
+# End: