X-Git-Url: http://git.code-monkey.de/?p=ruby-evas.git;a=blobdiff_plain;f=Rakefile;fp=Rakefile;h=f4d250dff1badb1428ef321f7987693e1d918af1;hp=0000000000000000000000000000000000000000;hb=75b71d219c811b2f5aaa350c433e1bddaeb7acd5;hpb=c7eaf5d1f6557b05c3fcc5660709c01332b13a6a diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..f4d250d --- /dev/null +++ b/Rakefile @@ -0,0 +1,44 @@ +# $Id: Rakefile 322 2005-04-27 14:17:25Z tilman $ + +require "library" +require "rake/clean" +require "rake/testtask" +require "rake/rdoctask" +require "rake/packagetask" +require "rake/contrib/compositepublisher" +require "rake/contrib/sshpublisher" + +CLOBBER.include("src/*.{s,}o") + +ext_obj = Dir["src/*.c"].map { |f| f.sub(/\.[^.]+$/, ".o") } +ext_lib = Library.new("evas", ENV["EVAS_PREFIX"] || "/usr/local", "src") + +task :default => [ext_lib.so] + +file ext_lib.so => ext_lib.objects do |t| + sh "cc #{ext_lib.ldflags} -shared -Wl " + + "-L #{Config::CONFIG['libdir']} " + + Config::CONFIG["LIBRUBYARG_SHARED"] + + " #{t.prerequisites.join(" ")} -o #{t.name}" +end + +ext_lib.objects.each do |object| + file object => object.sub(/\.[^.]+$/, ".c") do |t| + source = t.prerequisites.first + sh "cc #{ext_lib.cflags} -fPIC #{source} -c -o #{t.name}" + end +end + +task :install => [ext_lib.so] do |t| + destdir = "#{ENV["DESTDIR"]}" + sitearchdir = Config::CONFIG['sitearchdir'] + + FileUtils::Verbose.install(ext_lib.so, destdir + sitearchdir, + :mode => 0755) + + ddir = destdir + sitearchdir + "/evas" + FileUtils::Verbose.mkdir(ddir) unless File.directory?(ddir) + + headers = ["src/rb_evas.h", "src/rb_evas_object.h"] + FileUtils::Verbose.install(headers, ddir, :mode => 0644) +end