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

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

if /--builtin-encs=/ =~ ARGV[0]
  BUILTIN_ENCS = $'.split.each {|e| e.sub!(/(?:\.\w+)?\z/, '.c')}
  ARGV.shift
else
  BUILTIN_ENCS = []
end

mkin = File.read(File.join($srcdir, "Makefile.in"))
mkin.gsub!(/@(#{CONFIG.keys.join('|')})@/) {CONFIG[$1]}
if File.exist?(depend = File.join($srcdir, "depend"))
  tmp = ''
  eval(serb(File.read(depend), 'tmp'))
  mkin << "\n#### depend ####\n\n" << depend_rules(tmp).join
end
open(ARGV[0], 'wb') {|f|
  f.puts mkin
}