global_cflags = ARGUMENTS.get('CFLAGS', '-Wall -Wextra -O2 -fomit-frame-pointer')
global_cxxflags = ARGUMENTS.get('CXXFLAGS', global_cflags + ' -fno-exceptions -fno-rtti')
global_defines = ' -DHAVE_STDINT_H'
vars = Variables()
vars.Add('CC')
vars.Add('CXX')

env = Environment(CPPPATH = ['src', '../libgambatte/include', '../common'],
                  CFLAGS = global_cflags + global_defines,
                  CXXFLAGS = global_cxxflags + global_defines,
                  variables = vars)

env.ParseConfig('sdl-config --cflags --libs')

sourceFiles = Split('''
			src/gambatte_sdl.cpp
			src/audiodata.cpp
			src/blitterwrapper.cpp
			src/parser.cpp
			src/sdlblitter.cpp
			src/str_to_sdlkey.cpp
			src/syncfunc.cpp
			../common/adaptivesleep.cpp
			../common/resample/src/chainresampler.cpp
			../common/resample/src/i0.cpp
			../common/resample/src/makesinckernel.cpp
			../common/resample/src/resamplerinfo.cpp
			../common/resample/src/u48div.cpp
			../common/rateest.cpp
			../common/skipsched.cpp
			../common/videolink/rgb32conv.cpp
			../common/videolink/vfilterinfo.cpp
			../common/videolink/vfilters/catrom2x.cpp
			../common/videolink/vfilters/catrom3x.cpp
			../common/videolink/vfilters/kreed2xsai.cpp
			../common/videolink/vfilters/maxsthq2x.cpp
			../common/videolink/vfilters/maxsthq3x.cpp
			../libgambatte/libgambatte.a
		   ''')

conf = env.Configure()
conf.CheckLib('z')
conf.Finish()

env.Program('gambatte_sdl', sourceFiles)
