# $Id: Rakefile 318 2005-04-26 11:11:48Z 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_libs = ["ecore", "ecore_evas", "ecore_job", "ecore_x"].map do |lib| Library.new(lib) end task :default => ext_libs.map { |l| l.so } ext_libs.each do |lib| file lib.so => lib.objects do |t| sh "cc #{lib.ldflags} -shared -Wl " + "-L #{Config::CONFIG['libdir']} " + Config::CONFIG["LIBRUBYARG_SHARED"] + " #{t.prerequisites.join(" ")} -o #{t.name}" end lib.objects.each do |object| file object => object.sub(/\.[^.]+$/, ".c") do |t| source = t.prerequisites.first sh "cc #{lib.cflags} -fPIC #{source} -c -o #{t.name}" end end end task :install => ext_libs.map { |l| l.so } do |t| destdir = "#{ENV["DESTDIR"]}" FileUtils::Verbose.install(t.prerequisites, destdir + sitearchdir, :mode => 0755) ddir = destdir + sitearchdir + "/ecore" FileUtils::Verbose.mkdir(ddir) unless File.directory?(ddir) headers = ["src/ecore_evas/rb_ecore_evas.h", "src/ecore_x/rb_window.h"] FileUtils::Verbose.install(headers, ddir, :mode => 0644) end