require 'mkmf' require File.dirname(__FILE__)+'././../platform' def append_cpp_flags(flags) flags = [flags] unless flags.is_a?(Array) with_cppflags("#{$CPPFLAGS} #{flags.join(' ')}") { true } end def append_ld_flags(flags) flags = [flags] unless flags.is_a?(Array) with_ldflags("#{$LDFLAGS} #{flags.join(' ')}") { true } end append_cpp_flags %w(-I../../src_headers/navi) if Platform.windows? #Various windows definitions append_cpp_flags "/EHsc /MD /TP /c" # Erase extra nasty flags, don't know where they are coming from $CFLAGS = "" #Platform SDK append_cpp_flags "-I\"#{ENV["MSSdk"]}\"" #Navi header append_cpp_flags "-I../.." append_cpp_flags "-I\"../../src_headers/navi\"" append_cpp_flags "-I\"../../src_headers/wrappers\"" #Ogre headers append_cpp_flags "-I\"#{ENV["OGRE_HOME"]}/samples/include\"" append_cpp_flags "-I\"#{ENV["OGRE_HOME"]}/include\"" #Visual Studio SDK append_cpp_flags "-I\"#{ENV["VCInstallDir"]}/include\"" #Navi libs append_ld_flags "-MD -MT" append_ld_flags "-link" append_ld_flags " -libpath:\"../../navi/lib\"" append_ld_flags "Navi.lib" #Ogre libs append_ld_flags " -libpath:\"#{ENV["OGRE_HOME"]}/lib\"" append_ld_flags "OgreMain.lib" append_ld_flags "-libpath:\"../../navi/lib\"" append_ld_flags "llmozlib.lib" end create_makefile('navi')