diff options
| author | Yuichiro MASUI <[email protected]> | 2013-02-23 16:36:57 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-02-23 19:03:59 +0900 |
| commit | 0970ca957226d52af52e1f261fbb7ee8b3086cce (patch) | |
| tree | 44d19fe10c6650d9010d25ab840ce6e7e2f860fb /mrblib | |
| parent | 58b9e7672474160df90ba11c915eeac093fe12d2 (diff) | |
| download | mruby-0970ca957226d52af52e1f261fbb7ee8b3086cce.tar.gz mruby-0970ca957226d52af52e1f261fbb7ee8b3086cce.zip | |
Support to build on pwd != mruby source root
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/mrblib.rake | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/mrblib/mrblib.rake b/mrblib/mrblib.rake index 5b4070745..3cd66d0d5 100644 --- a/mrblib/mrblib.rake +++ b/mrblib/mrblib.rake @@ -1,14 +1,17 @@ MRuby.each_target do - dir = File.dirname(__FILE__).relative_path_from(root) - self.libmruby << objfile("#{build_dir}/#{dir}/mrblib") + current_dir = File.dirname(__FILE__).relative_path_from(Dir.pwd) + relative_from_root = File.dirname(__FILE__).relative_path_from(MRUBY_ROOT) + current_build_dir = "#{build_dir}/#{relative_from_root}" + + self.libmruby << objfile("#{current_build_dir}/mrblib") - file objfile("#{build_dir}/#{dir}/mrblib") => "#{build_dir}/#{dir}/mrblib.c" - file "#{build_dir}/#{dir}/mrblib.c" => [mrbcfile] + Dir.glob("#{dir}/*.rb") do |t| + file objfile("#{current_build_dir}/mrblib") => "#{current_build_dir}/mrblib.c" + file "#{current_build_dir}/mrblib.c" => [mrbcfile] + Dir.glob("#{current_dir}/*.rb") do |t| mrbc_, *rbfiles = t.prerequisites FileUtils.mkdir_p File.dirname(t.name) open(t.name, 'w') do |f| - _pp "GEN", "*.rb", "#{t.name}" - f.puts File.read("#{dir}/init_mrblib.c") + _pp "GEN", "*.rb", "#{t.name.relative_path}" + f.puts File.read("#{current_dir}/init_mrblib.c") mrbc.run f, rbfiles, 'mrblib_irep' end end |
