From 551bf0c635ca5dda1741a39a92de528dc82e90d6 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sat, 21 Nov 2020 15:36:46 +0900 Subject: Move some `.rake` files to `tasks` directory for consistency --- tasks/core.rake | 17 +++++++++++++++++ tasks/mrblib.rake | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tasks/core.rake create mode 100644 tasks/mrblib.rake (limited to 'tasks') diff --git a/tasks/core.rake b/tasks/core.rake new file mode 100644 index 000000000..c4816d4ce --- /dev/null +++ b/tasks/core.rake @@ -0,0 +1,17 @@ +as_cxx_srcs = %w[vm error gc].map{|name| "#{MRUBY_ROOT}/src/#{name}.c"} + +MRuby.each_target do + objs = Dir.glob("#{MRUBY_ROOT}/src/*.c").map do |src| + dst = src.pathmap("#{build_dir}/src/%n") + if cxx_exception_enabled? && as_cxx_srcs.include?(src) + compile_as_cxx(src, "#{dst}.cxx") + else + objfile(dst) + end + end + self.libmruby_objs << objs + + file libmruby_core_static => objs do |t| + archiver.run t.name, t.prerequisites + end +end diff --git a/tasks/mrblib.rake b/tasks/mrblib.rake new file mode 100644 index 000000000..7231b63bc --- /dev/null +++ b/tasks/mrblib.rake @@ -0,0 +1,30 @@ +MRuby.each_target do + src = "#{build_dir}/mrblib/mrblib.c" + obj = objfile(src.ext) + rbfiles = Dir["#{MRUBY_ROOT}/mrblib/*.rb"].sort! + + self.libmruby_objs << obj + + file obj => src + file src => [mrbcfile, __FILE__, *rbfiles] do |t| + mkdir_p File.dirname(t.name) + File.open(t.name, 'w') do |f| + _pp "GEN", "mrblib/*.rb", "#{t.name.relative_path}" + f.puts %Q[/*] + f.puts %Q[ * This file is loading the mrblib] + f.puts %Q[ *] + f.puts %Q[ * IMPORTANT:] + f.puts %Q[ * This file was generated!] + f.puts %Q[ * All manual changes will get lost.] + f.puts %Q[ */] + mrbc.run f, rbfiles, 'mrblib_proc' + f.puts <