gss/Rakefile.rb
2013-11-24 20:35:18 -05:00

56 lines
1.5 KiB
Ruby

require "bundler"
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
raise "Unable to Bundler.setup(): You probably need to run `bundle install`: " + e.message
end
require "rscons"
require "fileutils"
class Obj2D < Rscons::Builder
def run(target, sources, cache, env, vars)
command = ["ruby", "obj2d.rb", sources.first, target]
standard_build("Obj2D #{target}", target, command, sources + ["obj2d.rb"], env, cache)
end
end
desc "Build ScreenSaver"
task :default do
Rscons::Environment.new do |env|
env.add_builder(Obj2D.new)
sources = []
dirs = [
"src",
"modules/DerelictUtil/source",
"modules/DerelictSDL2/source",
"modules/DerelictGL3/source",
"modules/gl3n/gl3n",
"modules/glamour/glamour",
].each do |dir|
sources += Dir["#{dir}/**/*.{d,c}"]
end
sources << "build/obj2d/logoobj.d"
env["D_IMPORT_PATH"] += [
"src",
"modules/DerelictUtil/source",
"modules/DerelictSDL2/source",
"modules/DerelictGL3/source",
"modules/gl3n",
"modules/glamour",
"build/obj2d",
]
env["CFLAGS"] += ["-Wall", "-std=gnu99"]
env["DFLAGS"] += ["-fversion=Derelict3", "-fversion=gl3n", "-fversion=SDLImage"]
env["LDFLAGS"] += ["-static-libgcc", "-mwindows"]
env.build_root = "build"
env.Obj2D("build/obj2d/logoobj.d", "model/gentex-logo.obj")
env.Program("gss", sources)
end
end
task :clobber do
["build"].each do |dir|
FileUtils.rm_rf(dir)
end
end