Sha256: 1b2dad13737086e027ebc3adc292be978a1dbf72f6a2062dc6e30f7a099c445f
Contents?: true
Size: 1.17 KB
Versions: 4
Compression:
Stored size: 1.17 KB
Contents
# -*- mode: ruby; coding: utf-8 -*- require 'rake/loaders/makefile' namespace :lib do name = NAME outname = "lib#{name}.a" out = File.join LIBDIR, outname headers = glob("include/**/*.h") srcs = glob("src/**/*.cpp") srcs += glob("src/**/*.mm") if cocoa? srcs = srcs.reject {|s| s =~ %r(/win32/)} unless win32? srcs = srcs.reject {|s| s =~ %r(/cocoa/)} unless cocoa? depend = 'depend.mf' objs = convertions srcs, {".cpp" => ".o", ".mm" => ".o"} tmps = objs.values + [depend] cflags = CFLAGS.dup cflags << INCDIRS.map{|s| " -I#{s}"}.join task :build => out task :compile => objs.values task :clean do sh %( rm -rf #{tmps.join " "} #{out} ) end file out => objs.values do sh %( #{AR} #{ARFLAGS} #{out} #{objs.values.join " "} ) end file depend do sh %( #{CC} -M #{cflags} #{srcs.join ' '} > #{depend} ) input = open(depend) {|f| f.read} open(depend, 'w') do |output| output << input.gsub(/\w+\.o/, SRCDIR + '/\0') end end import depend if File.exist? depend objs.each do |(src, obj)| file obj => [depend, src] do sh %( #{CC} -c #{cflags} -o #{obj} #{src} ) end end end# :lib
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
reflexion-0.1.2 | task/lib.rake |
rays-0.1.2 | task/lib.rake |
reflexion-0.1.1 | task/lib.rake |
rays-0.1.1 | task/lib.rake |