namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
directory restructuring
- From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
- Date: Sat, 25 Sep 1999 18:08:24 +0900
library化をふまえてディレクトリ構造の再編を考えてみました。
...
まず、現在の lib ディレクトリ
({conf,find,seed,util,codeconv,nmzidx,usage,var,wakati}.pl
が入っている) は pl に名前を変えた方がいいと思います。(libと
いったら普通は Cのソースでしょう)
それから、
自分 [namazu-dev 521]>
| memmove strcasecmp strncasecmp strchr strstr strdup vsnprintf
|
| あたりをもらってこようと思います。いかがでしょう?
代替用の関数を定義したファイル
{memmove,strcasecmp,strncasecmp,strchr,strstr,strdup,vsnprintf}.c
を src ディレクトリに置くのは気持ちが悪いので、これらは lib
ディレクトリに置きたいと思います。
ついでに getopt.c, getopt1.c, getopt.h, regex.[ch] も lib ディ
レクトリに移動して、 lib/Makefile.am に
noinst_LIBRARIES = libnmzut.a
libnmzut_a_SOURCES = getopt.c, getopt1.c, getopt.h, regex.c regex.h
# LIBOBJS には AC_REPLACE_FUNCS() の FUNCTION.o が入る
libnmzut_a_LIBADD = @LIBOBJS@
と定義して libnmzut.a にまとめるとすっきりするでしょう。
namazu コマンドはこの libnmzut.a を link します。
# 私は perl -i.bak -pe s/foo/bar/g src/*.[ch] を多用するので、
# getopt.c や regex.c などは別のディレクトリにあった方が好都
# 合です。(これらのファイルを間違って変更したくない)
...
そして、肝心の libnmz.{a,so} のソースは nmz ディレクトリを新
規に作成して、その下に置けばいいと思います。
まとめると次のようになります。
src/ - namazu, mknmz, etc. コマンドのソース
pl/ - mknmz用の .pl ファイル
lib/ - libnmzut.a のソース (getopt.c, regex.c, memmove.c, etc.)
nmz/ - libnmz.{a,so} のソース
こんな感じでだいぶすっきりすると思います。
いかがでしょう? > みなさま (特に野首さん)
# 今日中に返事をもらえれば、明日の午前中にでも着手するつもり
# です
-- Satoru Takabayashi