#!/usr/local/bin/ruby
#
# mkrefe_mfrelation
#
# Copyright (c) 2003 Minero Aoki <aamine@loveruby.net>
#
# This program is free software.
# You can distribute/modify this program under the terms of
# the GNU Lesser General Public License version 2 or later.
#

require 'refe/database'
require 'refe/mfrelationparser'
require 'refe/mygetopt'
require 'refe/info'


getopt = MyGetoptLong.new(<<EndUsage, <<EndOptions)
Usage: mkrefe_mfrelation [-d <dir>] <srcdir>

%%options%%

EndUsage

  o -d --databasedir    <dir>  Use <dir> as the database root directory.
  o -  --version        -      Print program version and quit.
  o -h --help           -      Print this message and quit.

EndOptions


opts = {}
begin
  getopt.each do |name, arg|
    opts[name] = arg
  end
rescue => err
  getopt.usage 1, err.message
end
getopt.usage(0) if opts['--help']
(puts "mkrefe_mfrelation version #{ReFe::Version}"; exit 0) if opts['--version']
getopt.usage(1) if ARGV.size > 1


table = ReFe::Database.new(opts['--databasedir'], true).mf_relation
parser = ReFe::MFRelationParser.new
dir = ARGV[0]
Dir.glob(dir + '/*.[cy]').each do |fname|
  File.open(fname) {|f|
    parser.parse(f).each do |method, function|
      table[method] = function
    end
  }
end
table.flush
