# -*- mode: ruby; coding: utf-8 -*- namespace :ext do dir = "#{EXTDIR}/#{NAME}" name = "#{NAME}/tester" outname = "#{name}.#{EXTEXT}" out = File.join EXTDIR, outname extconf = File.join dir, "extconf.rb" makefile = File.join dir, "Makefile" depend = File.join dir, "depend" cpps = Dir.glob("#{dir}/**/*.cpp") task :build => makefile do sh %( cd #{dir} && #{MAKE} ) end task :clean do sh %( cd #{dir} && #{MAKE} clean ) if File.exist? makefile sh %( rm -f #{makefile} #{depend} ) end file makefile => [extconf, depend] do sh %( cd #{dir} && #{RUBY} #{File.basename extconf} ) end file depend => ["lib:build"] + cpps do incdirs = INCDIRS.map{|s| " -I#{s}"}.join srcs = cpps.map{|cpp| File.basename cpp}.join ' ' dep = File.basename depend sh %( cd #{dir} && #{CC} -M #{CFLAGS} #{incdirs} #{srcs} > #{dep} ) end end# :ext