aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/optional/capi/rake_helper.rb
blob: 2b7a6ccbe3b56dd399373ec2b304fbf03f5bc9bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require 'rake'
require 'rake/clean'

input = "#{$cwd}/#{$ext_name}.c"
common = "-I shotgun/lib/subtend -g #{input}"

case PLATFORM
when /darwin/
  output = "#{$cwd}/#{$ext_name}.bundle"
  build_cmd = "cc -bundle -undefined suppress -flat_namespace #{common} -o #{output}"
else
  output = "#{$cwd}/#{$ext_name}.so"
  build_cmd = "cc -shared #{common} -o #{output}"
end

CLOBBER.include(output)

task default: [output]

file output => [input] do
  sh build_cmd
end