diff options
Diffstat (limited to 'trunk/enc/make_encmake.rb')
-rw-r--r-- | trunk/enc/make_encmake.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/trunk/enc/make_encmake.rb b/trunk/enc/make_encmake.rb new file mode 100644 index 0000000000..107a387571 --- /dev/null +++ b/trunk/enc/make_encmake.rb @@ -0,0 +1,50 @@ +#! ./miniruby + +dir = File.expand_path("../..", __FILE__) +$:.unshift(dir) +$:.unshift(".") +if $".grep(/mkmf/).empty? + $" << "mkmf.rb" + load File.expand_path("lib/mkmf.rb", dir) +end +require 'erb' + +CONFIG["MAKEDIRS"] ||= '@$(MINIRUBY) -run -e mkdir -- -p' + +BUILTIN_ENCS = [] +BUILTIN_TRANSES = [] +ENC_PATTERNS = [] +NOENC_PATTERNS = [] + +until ARGV.empty? + case ARGV[0] + when /\A--builtin-encs=/ + BUILTIN_ENCS.concat $'.split.map {|e| File.basename(e, '.*') << '.c'} + ARGV.shift + when /\A--builtin-transes=/ + BUILTIN_TRANSES.concat $'.split.map {|e| File.basename(e, '.*') } + ARGV.shift + when /\A--encs=/ + ENC_PATTERNS.concat $'.split + ARGV.shift + when /\A--no-encs=/ + NOENC_PATTERNS.concat $'.split + ARGV.shift + else + break + end +end + +if File.exist?(depend = File.join($srcdir, "depend")) + erb = ERB.new(File.read(depend), nil, '%') + erb.filename = depend + tmp = erb.result(binding) + dep = "\n#### depend ####\n\n" << depend_rules(tmp).join +else + dep = "" +end +mkin = File.read(File.join($srcdir, "Makefile.in")) +mkin.gsub!(/@(#{CONFIG.keys.join('|')})@/) {CONFIG[$1]} +open(ARGV[0], 'wb') {|f| + f.puts mkin, dep +} |