public
Description: Simple Subset Sum Solver with C and Pure Ruby Versions
Homepage: http://subset-sum.rubyforge.org/
Clone URL: git://github.com/jeremyevans/ruby-subset_sum.git
ruby-subset_sum / Rakefile
100644 54 lines (45 sloc) 1.227 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
require 'rake'
require 'rake/clean'
require "spec/rake/spectask"
begin
  require "hanna/rdoctask"
rescue LoadError
  require "rake/rdoctask"
end
 
CLEAN.include %w"rdoc Makefile subset_sum.o subset_sum.so subset_sum-*.gem"
 
task :default => [:spec]
task :spec => [:build]
Spec::Rake::SpecTask.new("spec") do |t|
t.spec_files = %w'spec/subset_sum_spec.rb'
end
 
task :build do
sh %{ruby extconf.rb}
sh %{make}
end
 
Rake::RDocTask.new do |rdoc|
rdoc.rdoc_dir = "rdoc"
rdoc.options += ["--quiet", "--line-numbers", "--inline-source"]
rdoc.main = "SubsetSum"
rdoc.title = "subset_sum: Simple Subset Sum Solver with C and pure ruby versions"
rdoc.rdoc_files.add ["subset_sum.rb", "LICENSE"]
end
 
desc "Update docs and upload to rubyforge.org"
task :doc_rforge => [:rdoc] do
sh %{chmod -R g+w rdoc/*}
sh %{scp -rp rdoc/* rubyforge.org:/var/www/gforge-projects/subset-sum}
end
 
desc "Package subset_sum"
task :package do
sh %{gem build subset_sum.gemspec}
end
 
desc "Install subset_sum"
task :install => [:package] do
sh %{sudo gem install subset_sum-*.gem}
end
 
task :speedup => [:build] do
puts "C Version"
sh %{spec/c_speedup.rb}
sh %{rake clean}
puts "Ruby Version"
  sh %{spec/c_speedup.rb}
end