# src/

SUBDIRS = ide

bindir=$(prefix)/games
bin_PROGRAMS = supertuxkart

AM_CPPFLAGS = -DSUPERTUXKART_DATADIR="\"$(datadir)/games/$(PACKAGE)/\""  \
 -I$(srcdir)/bullet/src/ -I$(srcdir)/enet/include/

supertuxkart_SOURCES = \
 main.cpp \
 main_loop.cpp \
 main_loop.hpp \
 addons/addon.cpp \
 addons/addon.hpp \
 addons/addons_manager.cpp \
 addons/addons_manager.hpp \
 addons/network_http.cpp \
 addons/network_http.hpp \
 addons/zip.cpp \
 addons/zip.hpp \
 animations/animation_base.hpp \
 animations/animation_base.cpp \
 animations/billboard_animation.cpp \
 animations/billboard_animation.hpp \
 animations/ipo.cpp \
 animations/ipo.hpp \
 animations/three_d_animation.cpp \
 animations/three_d_animation.hpp \
 audio/music.hpp \
 audio/music_information.cpp \
 audio/music_information.hpp \
 audio/music_manager.cpp \
 audio/music_manager.hpp \
 audio/music_ogg.cpp \
 audio/music_ogg.hpp \
 audio/sfx_base.hpp \
 audio/sfx_buffer.cpp \
 audio/sfx_buffer.hpp \
 audio/sfx_openal.cpp \
 audio/sfx_openal.hpp \
 audio/sfx_manager.cpp \
 audio/sfx_manager.hpp \
 challenges/challenge.cpp \
 challenges/challenge.hpp \
 challenges/challenge_data.cpp \
 challenges/challenge_data.hpp \
 challenges/unlock_manager.cpp \
 challenges/unlock_manager.hpp \
 config/player.hpp \
 config/stk_config.cpp \
 config/stk_config.hpp \
 config/user_config.cpp \
 config/user_config.hpp \
 config/device_config.cpp \
 config/device_config.hpp \
 graphics/CBatchingMesh.cpp \
 graphics/CBatchingMesh.hpp \
 graphics/camera.cpp \
 graphics/camera.hpp \
 graphics/explosion.cpp \
 graphics/explosion.hpp \
 graphics/irr_driver.cpp \
 graphics/irr_driver.hpp \
 graphics/lod_node.cpp \
 graphics/lod_node.hpp \
 graphics/material.cpp \
 graphics/material.hpp \
 graphics/material_manager.cpp \
 graphics/material_manager.hpp \
 graphics/mesh_tools.cpp \
 graphics/mesh_tools.hpp \
 graphics/moving_texture.cpp \
 graphics/moving_texture.hpp \
 graphics/particle_emitter.cpp \
 graphics/particle_emitter.hpp \
 graphics/particle_kind.cpp \
 graphics/particle_kind.hpp \
 graphics/particle_kind_manager.cpp \
 graphics/particle_kind_manager.hpp \
 graphics/per_camera_node.cpp \
 graphics/per_camera_node.hpp \
 graphics/rain.cpp \
 graphics/rain.hpp \
 graphics/shadow.cpp \
 graphics/shadow.hpp \
 graphics/skid_marks.cpp \
 graphics/skid_marks.hpp \
 graphics/slip_stream.cpp \
 graphics/slip_stream.hpp \
 graphics/stars.cpp \
 graphics/stars.hpp \
 guiengine/CGUISpriteBank.cpp \
 guiengine/CGUISpriteBank.h \
 guiengine/abstract_state_manager.cpp \
 guiengine/abstract_state_manager.hpp \
 guiengine/abstract_top_level_container.cpp \
 guiengine/abstract_top_level_container.hpp \
 guiengine/engine.cpp \
 guiengine/engine.hpp \
 guiengine/event_handler.cpp \
 guiengine/event_handler.hpp \
 guiengine/layout_manager.cpp \
 guiengine/layout_manager.hpp \
 guiengine/modaldialog.cpp \
 guiengine/modaldialog.hpp \
 guiengine/scalable_font.cpp \
 guiengine/scalable_font.hpp \
 guiengine/screen_loader.cpp \
 guiengine/screen.cpp \
 guiengine/screen.hpp \
 guiengine/skin.cpp \
 guiengine/skin.hpp \
 guiengine/widget.cpp \
 guiengine/widget.hpp \
 guiengine/widgets.hpp \
 guiengine/widgets/bubble_widget.cpp \
 guiengine/widgets/bubble_widget.hpp \
 guiengine/widgets/button_widget.cpp \
 guiengine/widgets/button_widget.hpp \
 guiengine/widgets/CGUIEditBox.cpp \
 guiengine/widgets/CGUIEditBox.h \
 guiengine/widgets/check_box_widget.cpp \
 guiengine/widgets/check_box_widget.hpp \
 guiengine/widgets/dynamic_ribbon_widget.cpp \
 guiengine/widgets/dynamic_ribbon_widget.hpp \
 guiengine/widgets/icon_button_widget.cpp \
 guiengine/widgets/icon_button_widget.hpp \
 guiengine/widgets/label_widget.cpp \
 guiengine/widgets/label_widget.hpp \
 guiengine/widgets/list_widget.cpp \
 guiengine/widgets/list_widget.hpp \
 guiengine/widgets/model_view_widget.cpp \
 guiengine/widgets/model_view_widget.hpp \
 guiengine/widgets/ribbon_widget.cpp \
 guiengine/widgets/ribbon_widget.hpp \
 guiengine/widgets/spinner_widget.cpp \
 guiengine/widgets/spinner_widget.hpp \
 guiengine/widgets/text_box_widget.cpp \
 guiengine/widgets/text_box_widget.hpp \
 guiengine/widgets/progress_bar_widget.cpp \
 guiengine/widgets/progress_bar_widget.hpp \
 input/binding.cpp \
 input/binding.hpp \
 input/device_manager.cpp \
 input/device_manager.hpp \
 input/input.hpp \
 input/input_device.cpp \
 input/input_device.hpp \
 input/input_manager.cpp \
 input/input_manager.hpp \
 io/file_manager.cpp \
 io/file_manager.hpp \
 io/xml_node.cpp \
 io/xml_node.hpp \
 io/xml_writer.cpp \
 io/xml_writer.hpp \
 items/attachment.cpp \
 items/attachment.hpp \
 items/attachment_manager.cpp \
 items/attachment_manager.hpp \
 items/bowling.cpp \
 items/bowling.hpp \
 items/cake.cpp \
 items/cake.hpp \
 items/flyable.cpp \
 items/flyable.hpp \
 items/item.cpp \
 items/item.hpp \
 items/item_manager.cpp \
 items/item_manager.hpp \
 items/plunger.cpp \
 items/plunger.hpp \
 items/powerup.cpp \
 items/powerup.hpp \
 items/powerup_manager.cpp \
 items/powerup_manager.hpp \
 items/projectile_manager.cpp \
 items/projectile_manager.hpp \
 items/rubber_band.cpp \
 items/rubber_band.hpp \
 karts/controller/ai_base_controller.cpp \
 karts/controller/ai_base_controller.hpp \
 karts/controller/controller.cpp \
 karts/controller/controller.hpp \
 karts/controller/default_ai_controller.cpp \
 karts/controller/default_ai_controller.hpp \
 karts/controller/end_controller.cpp \
 karts/controller/end_controller.hpp \
 karts/controller/kart_control.hpp \
 karts/controller/new_ai_controller.cpp \
 karts/controller/new_ai_controller.hpp \
 karts/controller/player_controller.cpp \
 karts/controller/player_controller.hpp \
 karts/emergency_animation.cpp \
 karts/emergency_animation.hpp \
 karts/kart.cpp \
 karts/kart.hpp \
 karts/kart_model.cpp \
 karts/kart_model.hpp \
 karts/kart_properties.cpp \
 karts/kart_properties.hpp \
 karts/kart_properties_manager.cpp \
 karts/kart_properties_manager.hpp    \
 karts/max_speed.cpp \
 karts/max_speed.hpp \
 karts/moveable.cpp \
 karts/moveable.hpp \
 modes/follow_the_leader.cpp \
 modes/follow_the_leader.hpp \
 modes/game_tutorial.cpp \
 modes/game_tutorial.hpp \
 modes/linear_world.cpp \
 modes/linear_world.hpp \
 modes/profile_world.cpp \
 modes/profile_world.hpp \
 modes/standard_race.cpp \
 modes/standard_race.hpp \
 modes/three_strikes_battle.cpp \
 modes/three_strikes_battle.hpp \
 modes/world.cpp \
 modes/world.hpp \
 modes/world_status.cpp \
 modes/world_status.hpp \
 modes/world_with_rank.cpp \
 modes/world_with_rank.hpp \
 network/character_confirm_message.hpp \
 network/character_info_message.hpp \
 network/character_selected_message.hpp \
 network/connect_message.cpp \
 network/connect_message.hpp \
 network/connect_message.hpp \
 network/flyable_info.hpp \
 network/item_info.hpp \
 network/kart_control_message.cpp \
 network/kart_control_message.hpp \
 network/kart_update_message.cpp \
 network/kart_update_message.hpp \
 network/message.cpp \
 network/message.hpp \
 network/network_kart.cpp \
 network/network_kart.hpp \
 network/network_manager.cpp \
 network/network_manager.hpp \
 network/num_players_message.hpp \
 network/race_info_message.cpp \
 network/race_info_message.hpp \
 network/race_result_ack_message.hpp \
 network/race_result_message.cpp \
 network/race_result_message.hpp \
 network/race_start_message.hpp \
 network/race_state.cpp \
 network/race_state.hpp \
 network/remote_kart_info.hpp \
 network/world_loaded_message.hpp \
 physics/btKart.cpp \
 physics/btKart.hpp \
 physics/btKartRaycast.cpp \
 physics/btKartRaycast.hpp \
 physics/btUprightConstraint.cpp \
 physics/btUprightConstraint.hpp \
 physics/irr_debug_drawer.cpp \
 physics/irr_debug_drawer.hpp \
 physics/kart_motion_state.hpp \
 physics/physical_object.cpp \
 physics/physical_object.hpp \
 physics/physics.cpp \
 physics/physics.hpp \
 physics/triangle_mesh.cpp \
 physics/triangle_mesh.hpp \
 physics/user_pointer.hpp \
 race/grand_prix_data.cpp \
 race/grand_prix_data.hpp \
 race/grand_prix_manager.cpp \
 race/grand_prix_manager.hpp \
 race/highscore_manager.cpp \
 race/highscore_manager.hpp \
 race/highscores.cpp \
 race/highscores.hpp \
 race/history.cpp \
 race/history.hpp \
 race/race_manager.cpp \
 race/race_manager.hpp \
 replay/replay_base.cpp \
 replay/replay_base.hpp \
 replay/replay_buffer_tpl.hpp \
 replay/replay_buffers.cpp \
 replay/replay_buffers.hpp \
 replay/replay_player.cpp \
 replay/replay_player.hpp \
 replay/replay_recorder.cpp \
 replay/replay_recorder.hpp \
 states_screens/challenges.cpp \
 states_screens/challenges.hpp \
 states_screens/credits.cpp \
 states_screens/credits.hpp \
 states_screens/dialogs/add_device_dialog.cpp \
 states_screens/dialogs/add_device_dialog.hpp \
 states_screens/dialogs/confirm_resolution_dialog.cpp \
 states_screens/dialogs/confirm_resolution_dialog.hpp \
 states_screens/dialogs/enter_player_name_dialog.cpp \
 states_screens/dialogs/enter_player_name_dialog.hpp \
 states_screens/dialogs/gp_info_dialog.cpp \
 states_screens/dialogs/gp_info_dialog.hpp \
 states_screens/dialogs/message_dialog.cpp \
 states_screens/dialogs/message_dialog.hpp \
 states_screens/dialogs/player_info_dialog.hpp \
 states_screens/dialogs/player_info_dialog.cpp \
 states_screens/dialogs/press_a_key_dialog.hpp \
 states_screens/dialogs/press_a_key_dialog.cpp \
 states_screens/dialogs/race_over_dialog.cpp \
 states_screens/dialogs/race_over_dialog.hpp \
 states_screens/dialogs/race_paused_dialog.hpp \
 states_screens/dialogs/race_paused_dialog.cpp \
 states_screens/dialogs/track_info_dialog.cpp \
 states_screens/dialogs/track_info_dialog.hpp \
 states_screens/dialogs/addons_loading.cpp \
 states_screens/dialogs/addons_loading.hpp \
 states_screens/arenas_screen.cpp \
 states_screens/arenas_screen.hpp \
 states_screens/feature_unlocked.cpp \
 states_screens/feature_unlocked.hpp \
 states_screens/grand_prix_lose.cpp \
 states_screens/grand_prix_lose.hpp \
 states_screens/grand_prix_win.cpp  \
 states_screens/grand_prix_win.hpp  \
 states_screens/help_screen_1.cpp \
 states_screens/help_screen_1.hpp \
 states_screens/help_screen_2.cpp \
 states_screens/help_screen_2.hpp \
 states_screens/help_screen_3.cpp \
 states_screens/help_screen_3.hpp \
 states_screens/help_screen_4.cpp \
 states_screens/help_screen_4.hpp \
 states_screens/kart_selection.cpp \
 states_screens/kart_selection.hpp \
 states_screens/main_menu_screen.cpp \
 states_screens/main_menu_screen.hpp \
 states_screens/minimal_race_gui.cpp \
 states_screens/minimal_race_gui.hpp \
 states_screens/options_screen_audio.cpp \
 states_screens/options_screen_audio.hpp \
 states_screens/options_screen_input.cpp \
 states_screens/options_screen_input.hpp \
 states_screens/options_screen_input2.cpp \
 states_screens/options_screen_input2.hpp \
 states_screens/options_screen_players.cpp \
 states_screens/options_screen_players.hpp \
 states_screens/options_screen_ui.cpp \
 states_screens/options_screen_ui.hpp \
 states_screens/options_screen_video.cpp \
 states_screens/options_screen_video.hpp \
 states_screens/addons_screen.cpp \
 states_screens/addons_screen.hpp \
 states_screens/race_gui_base.cpp \
 states_screens/race_gui_base.hpp \
 states_screens/race_gui.cpp \
 states_screens/race_gui.hpp \
 states_screens/race_result_gui.cpp \
 states_screens/race_result_gui.hpp \
 states_screens/race_setup_screen.cpp \
 states_screens/race_setup_screen.hpp \
 states_screens/state_manager.cpp  \
 states_screens/state_manager.hpp \
 states_screens/tracks_screen.cpp \
 states_screens/tracks_screen.hpp \
 states_screens/tutorial_screen.cpp \
 states_screens/tutorial_screen.hpp \
 tinygettext/dictionary.cpp \
 tinygettext/dictionary.hpp \
 tinygettext/dictionary_manager.cpp \
 tinygettext/dictionary_manager.hpp \
 tinygettext/file_system.hpp \
 tinygettext/iconv.cpp \
 tinygettext/iconv.hpp \
 tinygettext/language.cpp \
 tinygettext/language.hpp \
 tinygettext/log.cpp \
 tinygettext/log.hpp \
 tinygettext/log_stream.hpp \
 tinygettext/plural_forms.cpp \
 tinygettext/plural_forms.hpp \
 tinygettext/po_parser.cpp \
 tinygettext/po_parser.hpp \
 tinygettext/stk_file_system.cpp \
 tinygettext/stk_file_system.hpp \
 tinygettext/tinygettext.cpp \
 tinygettext/tinygettext.hpp \
 tracks/ambient_light_sphere.cpp \
 tracks/ambient_light_sphere.hpp \
 tracks/bezier_curve.cpp \
 tracks/bezier_curve.hpp \
 tracks/check_lap.cpp \
 tracks/check_lap.hpp \
 tracks/check_line.cpp \
 tracks/check_line.hpp \
 tracks/check_manager.cpp \
 tracks/check_manager.hpp \
 tracks/check_sphere.cpp \
 tracks/check_sphere.hpp \
 tracks/check_structure.cpp \
 tracks/check_structure.hpp \
 tracks/graph_node.cpp\
 tracks/graph_node.hpp\
 tracks/quad.cpp \
 tracks/quad.hpp \
 tracks/quad_graph.cpp \
 tracks/quad_graph.hpp \
 tracks/quad_set.cpp \
 tracks/quad_set.hpp \
 tracks/terrain_info.cpp \
 tracks/terrain_info.hpp \
 tracks/track.cpp \
 tracks/track.hpp \
 tracks/track_manager.cpp \
 tracks/track_manager.hpp \
 tracks/track_object.cpp \
 tracks/track_object.hpp \
 tracks/track_object_manager.cpp \
 tracks/track_object_manager.hpp \
 tutorial/tutorial.cpp \
 tutorial/tutorial.hpp \
 tutorial/tutorial_data.cpp \
 tutorial/tutorial_data.hpp \
 tutorial/tutorial_manager.hpp \
 tutorial/tutorial_manager.cpp \
 utils/aligned_array.hpp \
 utils/constants.hpp \
 utils/constants.cpp \
 utils/no_copy.hpp \
 utils/ptr_vector.hpp \
 utils/random_generator.cpp \
 utils/random_generator.hpp \
 utils/string_utils.cpp \
 utils/string_utils.hpp \
 utils/synchronised.hpp \
 utils/time.hpp \
 utils/translation.cpp \
 utils/translation.hpp \
 utils/utf8.h \
 utils/utf8/checked.h \
 utils/utf8/core.h \
 utils/utf8/unchecked.h \
 utils/vec3.cpp \
 utils/vec3.hpp

# Link in the specific gcc 4.1 bug work around
supertuxkart_LDADD = \
        $(irrlicht_LIBS) $(fribidi_LIBS) $(bullet_LIBS) $(enet_LIBS) \
        $(opengl_LIBS) $(openal_LIBS) $(oggvorbis_LIBS) \
        $(INTLLIBS) $(LIBCURL_LIBS) $(LIBCURL_CFLAGS)
