[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00884] manpage installation
小野寛生です。
At Mon, 24 Jun 2002 01:35:21 +0900,
Hiroo Ono wrote:
> これを直して、あとは (まだ手をつけていませんが) man のインストールを言
> 語別にする変更を加えたら、次の snapshot を出したいと思っています。
やっぱりいつになるかわかんないので、現状で私の手元でインストールして
(日本語の変換が) ちゃんと動いたら snapshot (-a20) を公開するつもりです。
今週駄目だと 8月10日頃になってしまうかもしれません。
それから、manpage のインストールからみで、ご意見を聞かせてください。
現状、manpage は install.man target で
$mandir/man1 または $mandir/man3
という path にインストールされます。
これの最大の問題は、言語の区別がないので日本語、英語といった各言語の
man が install できないことです。
makerule.mk.in
MANDIR = @mandir@/man$(MANSUFFIX)
LIBMANDIR = @mandir@/man$(LIBMANSUFFIX)
MANSUFFIX = 1
LIBMANSUFFIX = 3
COMPRESSMANCMD = :
Wnn/man/6.jutil/Makefile.in
include @top_srcdir@/makerule.mk
top_builddir = ../../..
INSTALL = @INSTALL@ $(INSTALLFLAGS)
MANSUFFIX = 1
install.man:: atod.man
@if [ -d $(DESTDIR)$(MANDIR) ]; then set +x; \
else (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); fi
$(RM) $(DESTDIR)$(MANDIR)/atod.$(MANSUFFIX)*
$(INSTALL) $(INSTMANFLAGS) atod.man \
$(DESTDIR)$(MANDIR)/atod.$(MANSUFFIX)
-$(COMPRESSMANCMD) $(DESTDIR)$(MANDIR)/atod.$(MANSUFFIX)
以下、atof.man, dtoa.man, etc... と同じ定義が続いています。
で、こいつをどう変えようとしているかというと、
MANDIR は default /usr/local/man で
英語の manpage は /usr/local/man/man[1358] にいれて、
日本語の manpage は /usr/local/man/ja/man[1358] にいれる
MAN_SUBDIR_JA をいじると、ja のところを ja_JP とか ja_JP.eucJP とか変えられる。
なお、1: (ユーザーが使う) command、3: library function、5: (config.) file…
といったつもりです。
その為に makerule.mk.in を
MANDIR = @mandir@
MAN_LANGDIR = $(DESTDIR)/$(MANDIR)$(MAN_LANG_SUBDIR)
MAN_SUBDIR_JA = /@man_subdir_ja@
MAN_SUBDIR_EN = /@man_subdir_en@
SECT1 = man1
SECT3 = man3
SECT5 = man5
SECT8 = man8
COMPRESSMANCMD = :
で、書く manpage (現在は *.man) をおいたディレクトリの Makefile.in は
include @top_srcdir@/makerule.mk
top_builddir = ../../..
INSTALL = @INSTALL@ $(INSTALLFLAGS)
MAN_LANG_SUBDIR = $(MAN_SUBDIR_JA)
MANINSTALLDIR = $(MAN_LANGDIR)/$(SECT1)
MANFILES = atod.1 atof.1 dtoa.1 wddel.1 wdreg.1 wnntouch.1 oldtonew.1
Wnn/man/6.jutil/Makefile.in を
install.man:: $(MANFILES)
@if [ ! -d $(MANINSTALLDIR) ]; then $(MKDIRHIER) $(MANINSTALLDIR)
for f in $(MANFILES); do \
$(RM) $(MANINSTALLDIR)/$$f; \
$(INSTALL) $(INSTMANFLAGS) $$f $(MANINSTALLDIR); \
$(COMPRESSMANCMD) $(MANINSTALLDIR)/$$f; \
done
としようかなと考えています。いかがでしょうか。
迷っているのは、
・ このように、for loop を回してしまうか、copy & paste で各ファイルについて
ルールを書くか。
ほかにうまいやり方があれば教えて下さい。
・ 現在の *.man を *.1, *.3, etc... とファイル名を変えてしまいました。
今のようにインストールの際に変えるよりはよいと思っていますが、どうでしょう。
こういう感じでよいようなら、ほかのディレクトリについても変更していって、
各国語の manpage をインストール出来るようにしたいです。
本当にこんな感じでよいかとか、COMPRESSMANCMD の default どうしようとか
もありますが。
Install 時に変更する場合は、青野さんのおっしゃる通り、当面 configure
してから makerule.mk (または configure する前に makerule.mk.in) を
編集して下さいで済ませましょう。