summaryrefslogtreecommitdiffhomepage
path: root/tools/mirb/mirb.rake
blob: 0c340a2f59999dc985cf970161a322a6a5180696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
MRuby.each_target do
  dir = File.dirname(__FILE__).relative_path_from(root)

  if bins.find { |s| s.to_s == 'mirb' }
    exec = exefile("#{build_dir}/bin/mirb")
    objs = Dir.glob("#{dir}/*.c").map { |f| objfile(f.pathmap("#{build_dir}/%X")) }.flatten

    file exec => objs + [libfile("#{build_dir}/lib/libmruby")] do |t|
      gem_flags = gems.map { |g| g.linker.flags }
      gem_libraries = gems.map { |g| g.linker.libraries }
      gem_library_paths = gems.map { |g| g.linker.library_paths }
      linker.run t.name, t.prerequisites, gem_libraries, gem_library_paths, gem_flags
    end
  end
end