X-Git-Url: http://git.code-monkey.de/?p=ruby-esmart.git;a=blobdiff_plain;f=Rakefile;fp=Rakefile;h=bfb8507d5476df1f110343ee37fa1ebecb9b88be;hp=0000000000000000000000000000000000000000;hb=a798ac2f31578df885d633737d3b799b31c8a60a;hpb=442a877da882d6b38a5ed267d2f0024f9212eb58 diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..bfb8507 --- /dev/null +++ b/Rakefile @@ -0,0 +1,42 @@ +# $Id: Rakefile 326 2005-04-27 14:25:18Z 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 = ["container", "draggies", "trans_x11"].map do |lib| + lib = "esmart_" + lib + Library.new(lib, ENV["ESMART_PREFIX"] || "/usr/local", "src/#{lib}") +end + +l = Library.new("esmart", ENV["ESMART_PREFIX"] || "/usr/local", "src", nil) +ext_libs.unshift(l) + +task :default => ext_libs.map { |l| l.so } + +ext_libs.each do |lib| + file lib.so => lib.objects do |t| + sh "cc #{lib.ldflags} #{t.prerequisites.join(" ")} -o #{t.name}" + end + + lib.objects.each do |object| + file object => object.sub(/\.[^.]+$/, ".c") do |t| + sh "cc #{lib.cflags} #{t.prerequisites.first} " + + "-c -o #{t.name}" + end + end +end + +task :install => ext_libs.map { |l| l.so } do |t| + destdir = "#{ENV["DESTDIR"]}" + sitearchdir = Config::CONFIG['sitearchdir'] + + FileUtils::Verbose.install(t.prerequisites.to_a, destdir + sitearchdir, + :mode => 0755) +end