# coding=utf8

name = 'dave'

sources = ['analog_effects.cpp', 'image.cpp', 'library.cpp', 'opengl.cpp', 'fellow.cpp',
           'game.cpp', 'level.cpp', 'teletext.cpp', 'editor.cpp', 'ability.cpp', 'model.cpp', 'remote.cpp', 'kdtree.cpp']

import os, platform
env = Environment()

is_windows = platform.uname()[0] == 'Windows'
is_mac = platform.uname()[0] == 'Darwin'
is_freebsd = platform.uname()[0] == 'FreeBSD'
is_linux = platform.uname()[0] == 'Linux'

if not is_windows and not is_mac and not is_freebsd and not is_linux:
	print 'Ihme käyttis.'
	exit()

debug = int(ARGUMENTS.get('debug', 1))

if debug:
	env.Append(CPPFLAGS=['-Wall', '-O0', '-g'])
else:
	env.Append(CPPFLAGS=['-Wall', '-O3', '-fomit-frame-pointer'])
	env.Append(CPPDEFINES=['NDEBUG'])




env.ParseConfig('sdl-config --cflags')
env.Append(LINKFLAGS=Split(os.popen('sdl-config --libs').read()))

if is_linux:
	env.Append(LIBS=['GL', 'GLU', 'SDL_image'])
	env.Append(LIBS=['GLEW'])
	env.Append(LIBS=['lib3ds'])
	env.Append(LIBS=['SDL_mixer'])

if is_freebsd:
	env.Append(LIBS=['GL', 'GLU', 'SDL_image'])
	env.Append(LIBS=['GLEW'])
	env.Append(LIBS=['SDL_mixer'])
	#env.Append(SIBS=['Viina', 'Teline', 'Hernekeitto', 'Johannes'])
	env.Append(CPPPATH=['/usr/X11R6/include'])
	env.Append(CPPPATH=['.'])
	env.Append(LINKFLAGS=['lib3ds/lib3ds.freebsd.a'])
	env.Append(LIBPATH=['/usr/X11R6/lib'])
	env.Append(LIBPATH=['lib3ds'])

if is_mac:
	env.Append(LINKFLAGS=['-framework', 'OpenGL'])
	env.Append(LINKFLAGS=['-framework', 'Cocoa', '-framework', 'Carbon'])
	env.Append(LINKFLAGS=['-framework', 'SDL_image', '-framework', 'SDL']) 
	# sdl_image tuolta: http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.6.dmg
	# sdl tuolta: http://www.libsdl.org/release/SDL-devel-1.2.12-extras.dmg
	




env['OBJPREFIX'] += 'objs/'

env.Program(name, sources)
