env = Environment()

debug = ARGUMENTS.get('debug', 0)

if int(debug):
    env.Append(CPPFLAGS = ['-g', '-Wall', '-O0', '-finline-functions',
                           '-Wno-write-strings', '-DHAVE_LIBXPM'])
else:
    env.Append(CPPFLAGS = ['-Wall', '-O6', '-funroll-loops',
                           '-fomit-frame-pointer',
                           '-ffast-math', '-finline-functions',
                           '-fexpensive-optimizations',
                           '-Wno-write-strings', '-DHAVE_LIBXPM'])

env.Append(LIBS = ['m', 'SDL', 'SM', 'ICE',
'X11','Xext','Xmu', 'Xpm', 'GL', 'GLU', 'pthread', 'alut', 'vorbisfile'])


sources = Split("""
v3dfio.c
gctl.c
sarfio.c
sfm.c
explosion.c
cpinsbearing.c
sfmmath.c
cmdclean.c
simcb.c
sarinstall.c
simcontact.c
sarsplash.c
cpinshorizon.c
sarkey.c
stategl.c
v3dmodel.c
sarmenumanage.c
sardrawpm.c
menuobjview.c
humanio.c
gwx.c
sfmsimforce.c
simsurface.c
v3dhf.c
cpinsaltimeter.c
horizon.c
scenesound.c
sarsimbegin.c
playerstatio.c
sarmusic.c
sarmenuop.c
weather.c
cmdmemory.c
messages.c
main.c
simop.c
gwx_dialog.c
sarsimend.c
sartime.c
missionio.c
sardrawpm_building.c
human.c
simutils.c
texturelistio.c
x3d.c
sardrawpm_ptt.c
sardrawmessages.c
v3dgl.c
cmdsmoke.c
objsound.c
sarmenuoptions.c
sarcamp.c
v3dmh.c
cmdtime.c
mission.c
menumap.c
v3dmp.c
textinput.c
sound.c
sardrawpm_controltower.c
sardrawrunway.c
objutils.c
weatherio.c
simmanage.c
menu.c
matrixmath.c
cmdoption.c
optionio.c
sardrawpm_tower.c
cpins.c
sarmenubuild.c
sarmemory.c
sarfioopen.c
sardrawutils.c
objio.c
fire.c
cmd.c
sarmenucb.c
sardraw.c
cp.c
sardrawhuman.c
sarutils.c
text3d.c
sceneio.c
sarscreenshot.c
image.c
sardrawselect.c
sfmmodel.c
cmdset.c
smoke.c
sardrawpm_radiotower.c
musiclistio.c
v3dtex.c
cmdfire.c
sarfiosave.c
sardrawhelipad.c
objiopremodeled.c
cpfio.c
tga.cpp
string.cpp
strexp.cpp
gww.cpp
disk.cpp
tgadither.cpp
fio.cpp
""")
object_list = env.Object(source = sources)
env.Program(target='#bin/sar2', source=[object_list])
