summaryrefslogtreecommitdiffhomepage
path: root/tasks
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-06-06 16:38:11 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-06-06 16:38:11 +0900
commitd3fda42eb62b4132eb91fb75acc28d3218415c8b (patch)
tree1a3aad03479a673e1cd6a77b71df8ed34e295fef /tasks
parenta8636103a224a2d95fb63fd588c69df2b6e053af (diff)
parentfb3c2f6b08d3d3fc26af50cea16be01afa35128f (diff)
downloadmruby-d3fda42eb62b4132eb91fb75acc28d3218415c8b.tar.gz
mruby-d3fda42eb62b4132eb91fb75acc28d3218415c8b.zip
Merge pull request #2359 from take-cheeze/src_gen_dep
Add generator script to dependency so that it will regenerate C codes when it's modified.
Diffstat (limited to 'tasks')
-rw-r--r--tasks/libmruby.rake6
-rw-r--r--tasks/mrbgem_spec.rake2
-rw-r--r--tasks/mrbgems.rake4
-rw-r--r--tasks/mrbgems_test.rake4
4 files changed, 10 insertions, 6 deletions
diff --git a/tasks/libmruby.rake b/tasks/libmruby.rake
index 887cc69aa..095bedd52 100644
--- a/tasks/libmruby.rake
+++ b/tasks/libmruby.rake
@@ -1,7 +1,10 @@
MRuby.each_target do
file libfile("#{build_dir}/lib/libmruby") => libmruby.flatten do |t|
archiver.run t.name, t.prerequisites
- open("#{build_dir}/lib/libmruby.flags.mak", 'w') do |f|
+ end
+
+ file "#{build_dir}/lib/libmruby.flags.mak" => [__FILE__, libfile("#{build_dir}/lib/libmruby")] do |t|
+ open(t.name, 'w') do |f|
f.puts "MRUBY_CFLAGS = #{cc.all_flags.gsub('"', '\\"')}"
gem_flags = gems.map { |g| g.linker.flags }
@@ -15,4 +18,5 @@ MRuby.each_target do
f.puts "MRUBY_LIBS = #{linker.option_library % 'mruby'} #{linker.library_flags(gem_libraries).gsub('"', '\\"')}"
end
end
+ task :all => "#{build_dir}/lib/libmruby.flags.mak"
end
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake
index 36dd8f9c1..0c4dc85c0 100644
--- a/tasks/mrbgem_spec.rake
+++ b/tasks/mrbgem_spec.rake
@@ -124,7 +124,7 @@ module MRuby
def define_gem_init_builder
file objfile("#{build_dir}/gem_init") => "#{build_dir}/gem_init.c"
- file "#{build_dir}/gem_init.c" => [build.mrbcfile] + [rbfiles].flatten do |t|
+ file "#{build_dir}/gem_init.c" => [build.mrbcfile, __FILE__] + [rbfiles].flatten do |t|
FileUtils.mkdir_p build_dir
generate_gem_init("#{build_dir}/gem_init.c")
end
diff --git a/tasks/mrbgems.rake b/tasks/mrbgems.rake
index 95eddc56b..e4dd64b78 100644
--- a/tasks/mrbgems.rake
+++ b/tasks/mrbgems.rake
@@ -7,7 +7,7 @@ MRuby.each_target do
# loader all gems
self.libmruby << objfile("#{build_dir}/mrbgems/gem_init")
file objfile("#{build_dir}/mrbgems/gem_init") => ["#{build_dir}/mrbgems/gem_init.c", "#{build_dir}/LEGAL"]
- file "#{build_dir}/mrbgems/gem_init.c" => [MRUBY_CONFIG] do |t|
+ file "#{build_dir}/mrbgems/gem_init.c" => [MRUBY_CONFIG, __FILE__] do |t|
FileUtils.mkdir_p "#{build_dir}/mrbgems"
open(t.name, 'w') do |f|
f.puts %Q[/*]
@@ -41,7 +41,7 @@ MRuby.each_target do
end
# legal documents
- file "#{build_dir}/LEGAL" => [MRUBY_CONFIG] do |t|
+ file "#{build_dir}/LEGAL" => [MRUBY_CONFIG, __FILE__] do |t|
open(t.name, 'w+') do |f|
f.puts <<LEGAL
Copyright (c) #{Time.now.year} mruby developers
diff --git a/tasks/mrbgems_test.rake b/tasks/mrbgems_test.rake
index d06b7a24c..a6e9eb99e 100644
--- a/tasks/mrbgems_test.rake
+++ b/tasks/mrbgems_test.rake
@@ -10,7 +10,7 @@ MRuby.each_target do
test_rbobj = g.test_rbireps.ext(exts.object)
file test_rbobj => g.test_rbireps
- file g.test_rbireps => [g.test_rbfiles].flatten + [g.build.mrbcfile] do |t|
+ file g.test_rbireps => [g.test_rbfiles].flatten + [g.build.mrbcfile, __FILE__] do |t|
open(t.name, 'w') do |f|
g.print_gem_test_header(f)
test_preload = g.test_preload and [g.dir, MRUBY_ROOT].map {|dir|
@@ -117,7 +117,7 @@ MRuby.each_target do
no_mrb_open_test_lib = no_mrb_open_test.ext(exts.object)
file no_mrb_open_test_lib => "#{no_mrb_open_test}.c"
- file "#{no_mrb_open_test}.c" => no_mrb_open_test_rbfiles + [MRUBY_CONFIG] do |t|
+ file "#{no_mrb_open_test}.c" => no_mrb_open_test_rbfiles + [MRUBY_CONFIG, __FILE__] do |t|
open(t.name, 'w') do |f|
f.puts %Q[/*]
f.puts %Q[ * This file contains a test code for following gems:]