summaryrefslogtreecommitdiff
path: root/enc/make_encmake.rb
blob: fe75b2778d34b4f59774c8a55b89f50042c73bf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! ./miniruby

dir = File.expand_path("../..", __FILE__)
$:.unshift(File.join(dir, "lib"))
$:.unshift(dir)
File.directory?("enc") || File.mkdir("enc")
$:.unshift(".")
require 'mkmf'
require 'tool/serb'

encdir = File.join($top_srcdir, "enc")

encs = Dir.open(encdir) {|d| d.grep(/.+\.c\z/)}
encs -= CONFIG["BUILTIN_ENCS"].split
encs.each {|e| e.chomp!(".c")}
mkin = File.read(File.join(encdir, "Makefile.in"))
mkin.gsub!(/^\#!\# ?/, '')
mkin.gsub!(/@(#{RbConfig::MAKEFILE_CONFIG.keys.join('|')})@/) {CONFIG[$1]}
tmp = ''
eval(serb(mkin, 'tmp'))
open(ARGV[0], 'w') {|f|
  f.puts tmp
}