diff options
| author | Yuichiro MASUI <[email protected]> | 2013-02-03 05:18:28 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-02-03 13:38:18 +0900 |
| commit | a74f92b46be80a754486e696d117903fbb090686 (patch) | |
| tree | d8a236616935a0341c1d1272642c0227231c63c9 /test | |
| parent | dfff732318395c7dc2a01ba64bafd1bd46bf454d (diff) | |
| download | mruby-a74f92b46be80a754486e696d117903fbb090686.tar.gz mruby-a74f92b46be80a754486e696d117903fbb090686.zip | |
Generate mrbtest.a file for sparete from driver.o
Diffstat (limited to 'test')
| -rw-r--r-- | test/mrbtest.rake | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/test/mrbtest.rake b/test/mrbtest.rake index 4d4a7e57c..707fe8b72 100644 --- a/test/mrbtest.rake +++ b/test/mrbtest.rake @@ -8,20 +8,27 @@ MRuby.each_target do init = "#{dir}/init_mrbtest.c" asslib = "#{dir}/assert.rb" - objs = [objfile("#{build_dir}/#{dir}/driver"), mlib].flatten + mrbtest_lib = libfile("#{build_dir}/#{dir}/mrbtest") + file mrbtest_lib => [mlib, gems.map(&:test_objs), gems.map { |g| g.test_rbireps.ext(exts.object) }].flatten do |t| + archiver.run t.name, t.prerequisites + end - file exec => objs + gems.map(&:testlib).flatten + [libfile("#{build_dir}/lib/libmruby")] do |t| - gem_flags = gems.map { |g| g.linker.flags } - gem_flags_before_libraries = gems.map { |g| g.linker.flags_before_libraries } - gem_flags_after_libraries = gems.map { |g| g.linker.flags_after_libraries } - 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, gem_flags_before_libraries + unless build_mrbtest_lib_only? + driver_obj = objfile("#{build_dir}/#{dir}/driver") + file exec => [driver_obj, mrbtest_lib, libfile("#{build_dir}/lib/libmruby")] do |t| + gem_flags = gems.map { |g| g.linker.flags } + gem_flags_before_libraries = gems.map { |g| g.linker.flags_before_libraries } + gem_flags_after_libraries = gems.map { |g| g.linker.flags_after_libraries } + 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, gem_flags_before_libraries + end end file mlib => [clib] file clib => [mrbcfile, init, asslib] + mrbs do |t| _pp "GEN", "*.rb", "#{clib}" + FileUtils.mkdir_p File.dirname(__FILE__) open(clib, 'w') do |f| f.puts IO.read(init) mrbc.run f, [asslib] + mrbs, 'mrbtest_irep' |
