五十嵐です。 dhasen.rb, dhasenc.rbとdrb.rbを添付した chasen1.5.tar.gz を in.coming に置きます。よろしくお願いします。 # 調査は、時間のあるときで結構です > ごとけんさん m_seki / mva.biglobe.ne.jpさんwrote: >site_ruby にディレクトリを掘って、*.rb をインストールするような >スクリプトを書くには何を参考にしたらよいでしょう。 mkmf.rb中の、install_rb でしているような処理 + αで いいと思います。....ということで、ほとんど mkmf.rb を 抜粋して extconf.rb を書いてみました。 使い方は、lib/ 以下にインストールしたいファイル(*.rb)を 置いて実行すると Makefile が作られるので、そこで make install すれば、インストールされます。 本当は、extconf.rb に対するパッチにしたほうがいいのでしょうが、 時間がないので、とりあえず。 -- ここから require 'rbconfig' require 'find' include Config $srcdir = CONFIG["srcdir"] $libdir = CONFIG["libdir"]+"/ruby/"+CONFIG["MAJOR"]+"."+CONFIG["MINOR"] $archdir = $libdir+"/"+CONFIG["arch"] def install_rb(mfile, srcdir = nil) libdir = "lib" libdir = srcdir + "/" + libdir if srcdir path = [] dir = [] Find.find(libdir) do |f| next unless /\.rb$/ =~ f f = f[libdir.length+1..-1] path.push f dir |= File.dirname(f) end for f in dir next if f == "." mfile.printf "\t@$(RUBY) -r ftools -e 'File::makedirs(*ARGV)' $(libdir)/%s\n", f end for f in path mfile.printf "\t@$(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0644, true)' lib/%s $(libdir)/%s\n", f, f end end def create_makefile mfile = open("Makefile", "w") mfile.print <<EOMF SHELL = /bin/sh #### Start of system configuration section. #### srcdir = #{$srcdir} libdir = #{$libdir+"/site_ruby"} archdir = #{$archdir} #### End of system configuration section. #### RUBY = #{CONFIG["ruby_install_name"]} all: # do nothing install: EOMF install_rb(mfile) mfile.printf "\n" mfile.close end create_makefile -- ここまで -- IKARASHI Akira(ikarashi / d3.dion.ne.jp)