diff --git a/.gitignore b/.gitignore index 0c47d8a..5a2e733 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -/.dub -/d-dub-derelict-sdl2-gl3-demo +/.rsconscache +/app +/app.exe diff --git a/Makefile b/Makefile index fdd8657..d23253f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,4 @@ -TARGET := d-dub-derelict-sdl2-gl3-demo -SOURCES := source/*.d /usr/local/src/d/derelict/sdl2/*.d /usr/local/src/d/derelict/opengl3/*.d /usr/local/src/d/gl3n/*.d /usr/local/src/d/gl3n/ext/*.d /usr/local/src/d/glamour/*.d -DFLAGS := -I/usr/local/src/d -fversion=Derelict3 -fversion=gl3n -fversion=SDLImage -L/usr/local/lib -lDerelictUtil -ldl +default: -$(TARGET): $(SOURCES) - gdc -o $@ $(DFLAGS) $(SOURCES) +%: + rake $@ diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..f941568 --- /dev/null +++ b/Rakefile @@ -0,0 +1,34 @@ +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" + +task :default do + Rscons::Environment.new(echo: :short) do |env| + sources = [] + dirs = [ + "source", + "modules/DerelictUtil/source", + "modules/DerelictSDL2/source", + "modules/DerelictGL3/source", + "modules/gl3n/gl3n", + "modules/glamour/glamour", + ].each do |dir| + sources += Dir["#{dir}/**/*.d"] + end + env["D_IMPORT_PATH"] += [ + "modules/DerelictUtil/source", + "modules/DerelictSDL2/source", + "modules/DerelictGL3/source", + "modules/gl3n", + "modules/glamour", + ] + env["DFLAGS"] += ["-fversion=Derelict3", "-fversion=gl3n", "-fversion=SDLImage"] + env.build_dir("source", "build") + env.build_dir("modules", "build") + env.Program("app", sources) + end +end