import sys
Import('env')
Import('debug')

env = env.Copy()
env.Append(CPPPATH=['..', '.'])
env.Append(LIBPATH=['../mrt'])
env.Append(CPPDEFINES=['SDLXAPI=DLLEXPORT'])

libs = ['mrt', 'SDL', 'SDL_image']

if sys.platform != "win32":
	c_map_env= env.Copy()
	#c_map_env.Append(CXXFLAGS=['-fforce-addr', '-fprefetch-loop-arrays'])
	c_map = c_map_env.SharedObject('c_map.cpp')
	#libs.append('GL')
	libs.append('rt')
	libs.append('X11')
	env.Append(LINKFLAGS=' -Wl,-rpath-link build/' + env['mode'] + '/mrt')
else: 
	c_map = env.SharedObject('c_map.cpp')
	libs.append('opengl32')
	libs.append('winmm')
	libs.append('user32')
	libs.append('gdi32')

sdlx_sources = 	['cursor.cpp', 'sdl_ex.cpp', 'surface.cpp', 'system.cpp', 'joystick.cpp',
	'thread.cpp', 'mutex.cpp', 'semaphore.cpp', 'color.cpp',
	'glSDL/glSDL.c', c_map, 'font.cpp', 'timer.cpp', 'module.cpp', 
	] #  'ttf.cpp', 

sdlx = env.SharedLibrary('sdlx', sdlx_sources, LIBS=libs)
Install('#', sdlx[0])
Import('debug')

if debug:
	Import('lib_dir')
	if sys.platform != 'win32':
		env.Append(LINKFLAGS=' -Wl,-rpath '+ lib_dir + ' -Wl,-rpath-link build/' + env['mode'] + '/mrt')
		env.Append(LINKFLAGS=' -Wl,-rpath '+ lib_dir + ' -Wl,-rpath-link build/' + env['mode'] + '/sdlx')
		env.Append(LINKFLAGS=' -Wl,-rpath '+ lib_dir + ' -Wl,-rpath-link build/' + env['mode'] + '/objects')

	test = env.Program('cmap_test', ['c_test.cpp'], LIBS=['sdlx', 'mrt'], LIBPATH=['../mrt', '.'], RPATH=['.'])
	Install('#', test)
