Sha256: 9042394562394b4707e35a75a16df925e56b77cfb84067f917f8329f46f62392

Contents?: true

Size: 968 Bytes

Versions: 1

Compression:

Stored size: 968 Bytes

Contents

        require 'rake/clean'
        
        CLEAN.include('*.o')
        CLOBBER.include('libtrivial_so.bundle')
        
        SRC = FileList[]
        OBJ = SRC.ext('o')
        CC = "gcc"

        LDSHARED = "cc -dynamic -bundle -undefined suppress -flat_namespace"
        LIBPATH =  '-L"/usr/local/lib"'
        
        INCLUDES = "-I/usr/local/include -I/usr/local/lib/ruby/1.8/i686-darwin8.6.1 -I/usr/local/lib/ruby/site_ruby/1.8 -I."

        LIBS = "-lruby -ldl"

        CFLAGS   = " -fno-common -g -O2 -pipe -fno-common  "
        
        task :default => ['libtrivial_so.bundle']

        rule '.o' => '.c' do |t|
          sh "#{CC} #{CFLAGS} #{INCLUDES} -c -o #{t.name} #{t.source}"
        end

        rule '.so' => '.o' do |t|
          sh "#{LDSHARED} #{LIBPATH} -o #{OBJ} #{LOCAL_LIBS} #{LIBS}"
        end

        file 'libtrivial_so.bundle' => OBJ do
          sh "#{LDSHARED} #{LIBPATH} -o libtrivial_so.bundle #{OBJ} #{LIBS}"
        end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mkrf-0.1.0 test/sample_files/libtrivial/Rakefile