summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Rakefile12
-rw-r--r--test/mrbtest.rake2
2 files changed, 9 insertions, 5 deletions
diff --git a/Rakefile b/Rakefile
index d067a2279..f522c808b 100644
--- a/Rakefile
+++ b/Rakefile
@@ -27,18 +27,22 @@ load 'test/mrbtest.rake'
# generic build targets, rules
task :default => :all
-binfiles = MRuby.targets['host'].bins.map do |bin|
+depfiles = MRuby.targets['host'].bins.map do |bin|
install_path = exefile("bin/#{bin}")
file install_path => exefile("build/host/bin/#{bin}") do |t|
FileUtils.cp t.prerequisites.first, t.name
end
-
+
install_path
end
+depfiles += MRuby.targets.reject {|n,t| n == 'host' }.map do |n, t|
+ ["#{t.build_dir}/lib/libmruby.a"] + t.bins.map { |bin| exefile("#{t.build_dir}/bin/#{bin}") }
+end
+
desc "build all targets, install (locally) in-repo"
-task :all => binfiles + MRuby.targets.values.map { |t| [exefile("#{t.build_dir}/bin/mruby"), exefile("#{t.build_dir}/bin/mirb"), exefile("#{t.build_dir}/bin/mrbc")] }.flatten
+task :all => depfiles
desc "run all mruby tests"
task :test => MRuby.targets.values.map { |t| exefile("#{t.build_dir}/test/mrbtest") } do
@@ -53,5 +57,5 @@ task :clean do
MRuby.each_target do |t|
FileUtils.rm_rf t.build_dir
end
- FileUtils.rm_f binfiles
+ FileUtils.rm_f depfiles
end
diff --git a/test/mrbtest.rake b/test/mrbtest.rake
index cd560d206..33f283fc9 100644
--- a/test/mrbtest.rake
+++ b/test/mrbtest.rake
@@ -15,7 +15,7 @@ MRuby.each_target do
end
file mlib => [clib]
- file clib => [exefile("#{build_dir}/bin/mrbc"), init, asslib] + mrbs do |t|
+ file clib => [mrbcfile, init, asslib] + mrbs do |t|
open(clib, 'w') do |f|
f.puts File.read(init)
compile_mruby f, [asslib] + mrbs, 'mrbtest_irep'