Import('pkgconfig')
Import('uname')
Import('env')

# Basic sources
absorb_src = Split("""
    challenge.cpp
    collisionmap.cpp
    commands.cpp
    data.cpp
    effect.cpp
    effectdb.cpp
    encyclopedia.cpp
    encyclopediapage.cpp
    entity.cpp
    entityarchtype.cpp
    entitybase.cpp
    eventhandler.cpp
    game.cpp
    gamechallenge.cpp
    gamestorymode.cpp
    gamesurvival.cpp
    globals.cpp
    ingamemenu.cpp
    levelitem.cpp
    levelselector.cpp
    main.cpp
    mainmenu.cpp
    menu.cpp
    menuitem.cpp
    music.cpp
    options.cpp
    particlesystem.cpp
    stringinput.cpp
    sound.cpp
    terrain.cpp
    textonplayfield.cpp
    thurster.cpp
    turret.cpp
    weapon.cpp
    weaponmount.cpp
    weaponslot.cpp
    """)
absorb_headers = Split("""
    challenge.h
    collisionmap.h
    commands.h
    constants.h
    data.h
    effect.h
    effectdb.h
    encyclopedia.h
    encyclopediapage.h
    entity.h
    entityarchtype.h
    entitybase.cpp
    enums.h
    eventhandler.h
    game.h
    gamechallenge.h
    gamestorymode.h
    gamesurvival.h
    globals.h
    ingamemenu.h
    levelitem.h
    levelselector.h
    mainmenu.h
    menu.h
    menuitem.h
    munition.h
    music.h
    options.h
    particle.h
    particlesystem.h
    stringinput.h
    sound.h
    terrain.h
    textonplayfield.h
    thurster.h
    turret.h
    weapon.h
    weaponmount.h
    weaponslot.h
    """)

# OS-specific sources.
if uname == 'Darwin':
  absorb_src += Split("""SDLMain.m""")

# Test program.
absorb = env.Program("absorb", [absorb_src])

# Install rule.
install_bin = env.Install(pkgconfig.get_dir_bin(), absorb)

# Install functionality.
env.Alias('install', install_bin)
if 'install' in COMMAND_LINE_TARGETS:
  env.Execute(action='ldconfig')
