AUTOMAKE_OPTIONS = subdir-objects

.rc.o:
	      ${WINDRES} -o $@ $<

# this need for enable asan in tests
#AM_TESTS_ENVIRONMENT = \
#	     ASAN_OPTIONS=detect_leaks=1

if ENABLE_MANAPLUSGAME
if ENABLE_DYECMD
bin_PROGRAMS = manaplus dyecmd
else
bin_PROGRAMS = manaplus
endif
else
if ENABLE_DYECMD
bin_PROGRAMS = dyecmd
else
bin_PROGRAMS = 
endif
endif
if ENABLE_UNITTESTSBIN
bin_PROGRAMS += manaplustests
endif

manaplustests_CXXFLAGS = 
if ENABLE_UNITTESTS_CATCH
manaplustests_CXXFLAGS += -DUNITTESTS_CATCH
endif
if ENABLE_UNITTESTSBIN_CATCH
manaplustests_CXXFLAGS += -DUNITTESTS_CATCH
endif
if ENABLE_UNITTESTS_DOCTEST
manaplustests_CXXFLAGS += -DUNITTESTS_DOCTEST
endif
if ENABLE_UNITTESTSBIN_DOCTEST
manaplustests_CXXFLAGS += -DUNITTESTS_DOCTEST
endif

dyecmd_CXXFLAGS = -DPKG_DATADIR=\""$(pkgdatadir)/"\"      \
		-DLOCALEDIR=\""$(localedir)"\"           \
		-Wall
manaplus_CXXFLAGS = -DPKG_DATADIR=\""$(pkgdatadir)/"\"      \
		-DLOCALEDIR=\""$(localedir)"\"           \
		-Wall

if ENABLE_WERROR
manaplus_CXXFLAGS += -Werror
dyecmd_CXXFLAGS += -Werror
endif

if ENABLE_GLIBCDEBUG
manaplus_CXXFLAGS += -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
dyecmd_CXXFLAGS += -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
endif

if USE_X11
manaplus_CXXFLAGS += -DUSE_X11
dyecmd_CXXFLAGS += -DUSE_X11
endif

if ENABLE_ASSERTS
manaplus_CXXFLAGS += -DENABLE_ASSERTS
dyecmd_CXXFLAGS += -DENABLE_ASSERTS
if HAVE_RDYNAMIC
manaplus_LDFLAGS = -rdynamic
dyecmd_LDFLAGS = -rdynamic
endif
endif

if HAVE_EXECINFO
manaplus_CXXFLAGS += -DHAVE_EXECINFO
dyecmd_CXXFLAGS += -DHAVE_EXECINFO
endif

if ENABLE_PUGIXML
manaplus_CXXFLAGS += -DENABLE_PUGIXML
dyecmd_CXXFLAGS += -DENABLE_PUGIXML
endif
if ENABLE_LIBXML
manaplus_CXXFLAGS += -DENABLE_LIBXML
dyecmd_CXXFLAGS += -DENABLE_LIBXML
endif
if ENABLE_TINYXML2
manaplus_CXXFLAGS += -DENABLE_TINYXML2
dyecmd_CXXFLAGS += -DENABLE_TINYXML2
endif

if ENABLE_PORTABLE
dyecmd_CXXFLAGS += -DENABLE_PORTABLE
manaplus_CXXFLAGS += -DENABLE_PORTABLE
endif

if ENABLE_CUSTOMNLS
dyecmd_CXXFLAGS += -DENABLE_CUSTOMNLS
manaplus_CXXFLAGS += -DENABLE_CUSTOMNLS
endif

if ENABLE_CHECKPLUGIN
dyecmd_CXXFLAGS += -DENABLE_CHECKPLUGIN -fplugin=../build/checkplugin.so -fplugin-arg-checkplugin-command=detectnullpointers
manaplus_CXXFLAGS += -DENABLE_CHECKPLUGIN -fplugin=../build/checkplugin.so -fplugin-arg-checkplugin-command=detectnullpointers
endif

if USE_OPENGL
dyecmd_CXXFLAGS += -DUSE_OPENGL
manaplus_CXXFLAGS += -DUSE_OPENGL
endif
if ENABLE_OPENGLERRORS
dyecmd_CXXFLAGS += -DOPENGLERRORS
manaplus_CXXFLAGS += -DOPENGLERRORS
endif

if ENABLE_MEM_DEBUG
dyecmd_CXXFLAGS += -DENABLE_MEM_DEBUG -DDEBUG_DUMP_LEAKS
manaplus_CXXFLAGS += -DENABLE_MEM_DEBUG -DDEBUG_DUMP_LEAKS

manaplus_SOURCES = debug/nvwa/_nvwa.h \
	      debug/nvwa/c++11.h \
	      debug/nvwa/debug_new.cpp \
	      debug/nvwa/debug_new.h \
	      debug/nvwa/fast_mutex.h \
	      debug/nvwa/static_assert.h
dyecmd_SOURCES =  debug/nvwa/_nvwa.h \
	      debug/nvwa/c++11.h \
	      debug/nvwa/debug_new.cpp \
	      debug/nvwa/debug_new.h \
	      debug/nvwa/fast_mutex.h \
	      debug/nvwa/static_assert.h
else
manaplus_SOURCES =
dyecmd_SOURCES =
endif

if ENABLE_STLDEBUG
dyecmd_CXXFLAGS += -DENABLE_STLDEBUG
manaplus_CXXFLAGS += -DENABLE_STLDEBUG

manaplus_SOURCES += debug/mse/msemsevector.h \
	      debug/mse/msemstdvector.h \
	      debug/mse/mseprimitives.h
dyecmd_SOURCES += debug/mse/msemsevector.h \
	      debug/mse/msemstdvector.h \
	      debug/mse/mseprimitives.h
endif

if MINGW
manaplus_SOURCES += manaplus.rc
dyecmd_SOURCES += manaplus.rc
endif

if ENABLE_CILKPLUS
dyecmd_CXXFLAGS += -DENABLE_CILKPLUS -fcilkplus -lcilkrts
manaplus_CXXFLAGS += -DENABLE_CILKPLUS -fcilkplus -lcilkrts
endif

dyecmd_CXXFLAGS += -DDYECMD
dyecmd_SOURCES += dyetool/dyemain.cpp

if USE_MUMBLE
manaplus_CXXFLAGS += -DUSE_MUMBLE
endif

if ENABLE_CHECKS
dyecmd_CXXFLAGS += -DENABLE_CHECKS
manaplus_CXXFLAGS += -DENABLE_CHECKS
endif

BASE_SRC = 

if USE_SDL2
if USE_INTERNALSDLGFX
dyecmd_CXXFLAGS += -I$(srcdir)/sdl2gfx -DUSE_SDL2
manaplus_CXXFLAGS += -I$(srcdir)/sdl2gfx -DUSE_SDL2
BASE_SRC += sdl2gfx/SDL2_framerate.c \
	      sdl2gfx/SDL2_framerate.h \
	      sdl2gfx/SDL2_rotozoom.c \
	      sdl2gfx/SDL2_rotozoom.h
else
dyecmd_CXXFLAGS += -DUSE_SDL2
manaplus_CXXFLAGS += -DUSE_SDL2
endif
endif

BASE_SRC += events/actionevent.h \
	      listeners/actionlistener.h \
	      listeners/attributelistener.cpp \
	      listeners/attributelistener.h \
	      gui/widgets/basiccontainer.h \
	      gui/browserlink.h \
	      gui/buttoninfo.h \
	      gui/buttontext.h \
	      const/gui/chat.h \
	      const/gui/pages.h \
	      gui/chatlog.h \
	      enums/gui/chatmsgtype.h \
	      enums/gui/chattabtype.h \
	      enums/gui/colorname.h \
	      gui/cliprect.h \
	      gui/color.h \
	      enums/gui/dialogtype.h \
	      enums/gui/gradienttype.h \
	      enums/gui/itemamountwindowusage.h \
	      enums/gui/orientation.h \
	      enums/gui/progresscolorid.h \
	      enums/gui/serverdialogdonwloadstatus.h \
	      enums/gui/shoplistboxtype.h \
	      enums/gui/slidergrid.h \
	      enums/gui/themecolorid.h \
	      enums/gui/updatedownloadstatus.h \
	      enums/gui/usercolorid.h \
	      listeners/errorlistener.cpp \
	      listeners/errorlistener.h \
	      listeners/widgetdeathlistener.h \
	      events/event.h \
	      listeners/focuslistener.h \
	      listeners/gamemodifierlistener.cpp \
	      listeners/gamemodifierlistener.h \
	      listeners/guiconfiglistener.h \
	      listeners/debugmessagelistener.cpp \
	      listeners/debugmessagelistener.h \
	      listeners/guitableactionlistener.cpp \
	      listeners/guitableactionlistener.h \
	      listeners/tooltiplistener.cpp \
	      listeners/tooltiplistener.h \
	      events/inputguievent.h \
	      input/key.h \
	      events/keyevent.h \
	      enums/events/keyeventtype.h \
	      listeners/keylistener.h \
	      gui/models/listmodel.h \
	      events/mouseevent.h \
	      enums/events/mousebutton.h \
	      enums/events/mouseeventtype.h \
	      listeners/mouselistener.h \
	      listeners/openurllistener.h \
	      listeners/playerdeathlistener.cpp \
	      listeners/playerdeathlistener.h \
	      gui/rect.h \
	      events/selectionevent.h \
	      listeners/selectionlistener.h \
	      listeners/statlistener.cpp \
	      listeners/statlistener.h \
	      listeners/tablemodellistener.h \
	      utils/sdlpixel.h \
	      utils/sdlsharedhelper.cpp \
	      utils/sdlsharedhelper.h \
	      utils/stdmove.h \
	      gui/widgets/widget.h \
	      listeners/weightlistener.h \
	      listeners/widgetlistener.h \
	      listeners/wrongdatanoticelistener.cpp \
	      listeners/wrongdatanoticelistener.h \
	      gui/widgets/basiccontainer2.h \
	      gui/widgets/basiccontainer.cpp \
	      gui/colorpair.h \
	      gui/dialogsmanager.cpp \
	      gui/dialogsmanager.h \
	      input/key.cpp \
	      gui/widgets/widget.cpp \
	      gui/widgets/basiccontainer2.cpp \
	      gui/models/colorlistmodel.h \
	      gui/widgets/browserbox.cpp \
	      gui/widgets/browserbox.h \
	      gui/widgets/browserbox.inc \
	      gui/widgets/staticbrowserbox.cpp \
	      gui/widgets/staticbrowserbox.h \
	      gui/widgets/button.cpp \
	      gui/widgets/button.h \
	      gui/widgets/chatinput.h \
	      gui/widgets/checkbox.cpp \
	      gui/widgets/checkbox.h \
	      gui/models/colormodel.cpp \
	      gui/models/colormodel.h \
	      gui/widgets/colorpage.cpp \
	      gui/widgets/colorpage.h \
	      gui/widgets/container.cpp \
	      gui/widgets/container.h \
	      gui/widgets/containerplacer.cpp \
	      gui/widgets/containerplacer.h \
	      gui/widgets/createwidget.h \
	      gui/widgets/desktop.cpp \
	      gui/widgets/desktop.h \
	      gui/widgets/dropdown.cpp \
	      gui/widgets/dropdown.h \
	      gui/widgets/equipmentbox.h \
	      gui/widgets/equipmentpage.h \
	      gui/widgets/extendedlistbox.cpp \
	      gui/widgets/extendedlistbox.h \
	      gui/widgets/extendedlistboxitem.h \
	      gui/models/extendedlistmodel.h \
	      gui/models/extendednamesmodel.cpp \
	      gui/models/extendednamesmodel.h \
	      gui/models/fontsizechoicelistmodel.h \
	      gui/models/fontsmodel.h \
	      gui/models/iconsmodel.h \
	      gui/models/ignorechoiceslistmodel.h \
	      gui/models/itemsmodel.h \
	      gui/models/keylistmodel.h \
	      gui/models/langlistmodel.h \
	      gui/widgets/flowcontainer.cpp \
	      gui/widgets/flowcontainer.h \
	      gui/widgets/guitable.cpp \
	      gui/widgets/guitable.h \
	      gui/widgets/horizontcontainer.cpp \
	      gui/widgets/horizontcontainer.h \
	      gui/widgets/icon.cpp \
	      gui/widgets/icon.h \
	      gui/widgets/inttextfield.cpp \
	      gui/widgets/inttextfield.h \
	      gui/widgets/label.cpp \
	      gui/widgets/label.h \
	      gui/widgets/layout.cpp \
	      gui/widgets/layout.h \
	      gui/widgets/layoutarray.cpp \
	      gui/widgets/layoutarray.h \
	      gui/widgets/layoutcell.cpp \
	      gui/widgets/layoutcell.h \
	      gui/widgets/layouthelper.cpp \
	      gui/widgets/layouthelper.h \
	      enums/gui/layouttype.h \
	      enums/gui/linkhighlightmode.h \
	      enums/gui/npcactionstate.h \
	      enums/gui/npcinputstate.h \
	      gui/widgets/linepart.cpp \
	      gui/widgets/linepart.h \
	      gui/widgets/linkhandler.h \
	      gui/widgets/listbox.cpp \
	      gui/widgets/listbox.h \
	      gui/models/modelistmodel.cpp \
	      gui/models/modelistmodel.h \
	      gui/models/namesmodel.cpp \
	      gui/models/namesmodel.h \
	      gui/models/serverslistmodel.h \
	      gui/widgets/passwordfield.cpp \
	      gui/widgets/passwordfield.h \
	      gui/widgets/popup.cpp \
	      gui/widgets/popup.h \
	      gui/widgets/popuplist.cpp \
	      gui/widgets/popuplist.h \
	      gui/widgets/progressbar.cpp \
	      gui/widgets/progressbar.h \
	      gui/widgets/progressindicator.cpp \
	      gui/widgets/progressindicator.h \
	      gui/widgets/radiobutton.cpp \
	      gui/widgets/radiobutton.h \
	      gui/widgets/radiogroup.cpp \
	      gui/widgets/radiogroup.h \
	      gui/widgets/scrollarea.cpp \
	      gui/widgets/scrollarea.h \
	      gui/models/soundsmodel.h \
	      gui/widgets/slider.cpp \
	      gui/widgets/slider.h \
	      gui/widgets/sliderlist.cpp \
	      gui/widgets/sliderlist.h \
	      gui/widgets/tabs/tab.cpp \
	      gui/widgets/tabs/tab.h \
	      gui/widgets/tabbedarea.cpp \
	      gui/widgets/tabbedarea.h \
	      gui/models/tablemodel.cpp \
	      gui/models/tablemodel.h \
	      gui/models/targettypemodel.h \
	      gui/models/typelistmodel.h \
	      gui/models/themesmodel.h \
	      gui/widgets/tabstrip.cpp \
	      gui/widgets/tabstrip.h \
	      gui/widgets/textbox.cpp \
	      gui/widgets/textbox.h \
	      gui/widgets/textfield.cpp \
	      gui/widgets/textfield.h \
	      gui/widgets/textpreview.cpp \
	      gui/widgets/textpreview.h \
	      gui/widgets/vertcontainer.cpp \
	      gui/widgets/vertcontainer.h \
	      gui/widgets/widget2.h \
	      gui/widgets/widgetgroup.cpp \
	      gui/widgets/widgetgroup.h \
	      gui/widgets/window.cpp \
	      gui/widgets/window.h \
	      gui/widgets/windowcontainer.cpp \
	      gui/widgets/windowcontainer.h \
	      gui/windows/confirmdialog.cpp \
	      gui/windows/confirmdialog.h \
	      gui/focushandler.cpp \
	      gui/focushandler.h \
	      gui/gui.cpp \
	      gui/gui.h \
	      gui/mailmessage.h \
	      gui/mouseoverlink.h \
	      gui/windows/okdialog.cpp \
	      gui/windows/okdialog.h \
	      gui/onlineplayer.h \
	      gui/palette.cpp \
	      gui/palette.h \
	      gui/sdlinput.cpp \
	      gui/sdlinput.h \
	      gui/windows/editdialog.cpp \
	      gui/windows/editdialog.h \
	      gui/setupactiondata.h \
	      gui/fonts/font.cpp \
	      gui/fonts/font.h \
	      gui/fonts/textchunk.cpp \
	      gui/fonts/textchunk.h \
	      gui/fonts/textchunklist.cpp \
	      gui/fonts/textchunklist.h \
	      gui/fonts/textchunksmall.cpp \
	      gui/fonts/textchunksmall.h \
	      gui/skin.cpp \
	      gui/skin.h \
	      gui/theme.cpp \
	      gui/theme.h \
	      gui/themecolorsidoperators.cpp \
	      gui/themecolorsidoperators.h \
	      gui/themeinfo.h \
	      gui/userpalette.cpp \
	      gui/userpalette.h \
	      gui/windowmanager.cpp \
	      gui/windowmanager.h \
	      enums/net/auctionsearchtype.h \
	      enums/net/battlegroundtype.h \
	      enums/net/deleteitemreason.h \
	      enums/net/downloadstatus.h \
	      enums/net/mailopentype.h \
	      enums/net/npcaction.h \
	      enums/net/packettype.h \
	      enums/net/partyshare.h \
	      enums/net/serverfreetype.h \
	      enums/net/servertype.h \
	      enums/net/storesearchtype.h \
	      enums/net/updatetype.h \
	      resources/action.cpp \
	      resources/action.h \
	      resources/ambientlayer.cpp \
	      resources/ambientlayer.h \
	      resources/atlas/atlasitem.h \
	      resources/atlas/atlasmanager.cpp \
	      resources/atlas/atlasmanager.h \
	      resources/atlas/atlasresource.cpp \
	      resources/atlas/atlasresource.h \
	      resources/rect/doublerect.h \
	      resources/attack.h \
	      resources/cursors.cpp \
	      resources/cursors.h \
	      resources/dye/dye.cpp \
	      resources/dye/dye.h \
	      resources/dye/dyecolor.h \
	      resources/dye/dyepalette.cpp \
	      resources/dye/dyepalette.h \
	      resources/dye/dyepalette_replaceacolor.cpp \
	      resources/dye/dyepalette_replaceaoglcolor.cpp \
	      resources/dye/dyepalette_replacescolor.cpp \
	      resources/dye/dyepalette_replacesoglcolor.cpp \
	      resources/dye/dyepaletteptr.h \
	      resources/fboinfo.h \
	      resources/frame.h \
	      resources/groupinfo.cpp \
	      resources/groupinfo.h \
	      resources/image/image.cpp \
	      resources/image/image.h \
	      resources/imagehelper.cpp \
	      resources/imagehelper.h \
	      resources/imageset.cpp \
	      resources/imageset.h \
	      resources/imagewriter.cpp \
	      resources/imagewriter.h \
	      resources/itemcolordata.h \
	      resources/mstack.h \
	      resources/notificationinfo.h \
	      resources/notifications.h \
	      resources/npcbuttoninfo.h \
	      resources/npcdialoginfo.h \
	      resources/npcdialogmenuinfo.h \
	      resources/npcimageinfo.h \
	      resources/npcinventoryinfo.h \
	      resources/npctextinfo.h \
	      enums/resources/notifyflags.h \
	      enums/resources/notifytypes.h \
	      resources/imagerect.h \
	      resources/openglimagehelper.cpp \
	      resources/openglimagehelper.h \
	      resources/openglscreenshothelper.cpp \
	      resources/openglscreenshothelper.h \
	      resources/mobileopenglscreenshothelper.cpp \
	      resources/mobileopenglscreenshothelper.h \
	      resources/questeffect.h \
	      resources/questitem.h \
	      resources/questitemtext.h \
	      resources/questvar.h \
	      enums/resources/questtype.h \
	      enums/resources/servercommandenable.h \
	      enums/resources/servercommandtype.h \
	      enums/resources/serverpermissiontype.h \
	      resources/resource.cpp \
	      resources/resource.h \
	      resources/resourcefunctiontypes.h \
	      resources/resourcetypes.h \
	      resources/loaders/atlasloader.cpp \
	      resources/loaders/atlasloader.h \
	      resources/loaders/emptyatlasloader.cpp \
	      resources/loaders/emptyatlasloader.h \
	      resources/loaders/imageloader.cpp \
	      resources/loaders/imageloader.h \
	      resources/loaders/imagesetloader.cpp \
	      resources/loaders/imagesetloader.h \
	      resources/loaders/musicloader.cpp \
	      resources/loaders/musicloader.h \
	      resources/loaders/rescaledloader.cpp \
	      resources/loaders/rescaledloader.h \
	      resources/loaders/shaderloader.cpp \
	      resources/loaders/shaderloader.h \
	      resources/loaders/shaderprogramloader.cpp \
	      resources/loaders/shaderprogramloader.h \
	      resources/loaders/soundloader.cpp \
	      resources/loaders/soundloader.h \
	      resources/loaders/spritedefloader.cpp \
	      resources/loaders/spritedefloader.h \
	      resources/loaders/subimageloader.cpp \
	      resources/loaders/subimageloader.h \
	      resources/loaders/subimagesetloader.cpp \
	      resources/loaders/subimagesetloader.h \
	      resources/loaders/walklayerloader.cpp \
	      resources/loaders/walklayerloader.h \
	      resources/loaders/xmlloader.cpp \
	      resources/loaders/xmlloader.h \
	      resources/resourcemanager/resourcemanager.cpp \
	      resources/resourcemanager/resourcemanager.h \
	      resources/safeopenglimagehelper.cpp \
	      resources/safeopenglimagehelper.h \
	      resources/screenshothelper.h \
	      resources/sdl2imagehelper.cpp \
	      resources/sdl2imagehelper.h \
	      resources/sdl2softwareimagehelper.cpp \
	      resources/sdl2softwareimagehelper.h \
	      resources/sdl2softwarescreenshothelper.cpp \
	      resources/sdl2softwarescreenshothelper.h \
	      resources/sdlgfxblitfunc.cpp \
	      resources/sdlgfxblitfunc.h \
	      resources/sdlimagehelper.cpp \
	      resources/sdlimagehelper.h \
	      resources/sdlmusic.cpp \
	      resources/sdlmusic.h \
	      resources/sdlscreenshothelper.cpp \
	      resources/sdlscreenshothelper.h \
	      resources/skill/skilltypeentry.h \
	      resources/skill/skilltypelist.h \
	      const/net/skill.h \
	      const/resources/currency.h \
	      const/resources/skill.h \
	      enums/resources/skill/skillowner.h \
	      enums/resources/skill/skillsettype.h \
	      enums/resources/skill/skilltype.h \
	      enums/resources/skill/skilltype2.h \
	      resources/servercommands.inc \
	      resources/serverpermissions.inc \
	      resources/soundeffect.cpp \
	      resources/soundeffect.h \
	      resources/soundinfo.h \
	      const/resources/spriteaction.h \
	      resources/sprite/spritedef.cpp \
	      resources/sprite/spritedef.h \
	      enums/resources/spritedirection.h \
	      resources/image/subimage.cpp \
	      resources/image/subimage.h \
	      resources/surfaceimagehelper.cpp \
	      resources/surfaceimagehelper.h \
	      resources/wallpaper.cpp \
	      resources/wallpaper.h \
	      resources/wallpaperdata.h \
	      utils/translation/podict.cpp \
	      utils/translation/podict.h \
	      utils/translation/poparser.cpp \
	      utils/translation/poparser.h \
	      utils/translation/translationmanager.cpp \
	      utils/translation/translationmanager.h \
	      utils/base64.cpp \
	      utils/base64.h \
	      utils/booleanoptions.h \
	      utils/browserboxtools.cpp \
	      utils/browserboxtools.h \
	      utils/buildhex.h \
	      utils/cast.h \
	      utils/checkutils.cpp \
	      utils/checkutils.h \
	      utils/copynpaste.cpp \
	      utils/copynpaste.h \
	      utils/cpu.cpp \
	      utils/cpu.h \
	      utils/delete2.h \
	      utils/dtor.h \
	      utils/dumplibs.cpp \
	      utils/dumplibs.h \
	      utils/dumpsizes.cpp \
	      utils/dumpsizes.h \
	      utils/env.cpp \
	      utils/env.h \
	      utils/foreach.h \
	      fs/files.cpp \
	      fs/files.h \
	      utils/fuzzer.cpp \
	      utils/fuzzer.h \
	      utils/gettext.h \
	      utils/gettexthelper.cpp \
	      utils/gettexthelper.h \
	      utils/glxhelper.cpp \
	      utils/glxhelper.h \
	      utils/intmap.h \
	      utils/langs.cpp \
	      utils/langs.h \
	      utils/likely.h \
	      utils/mathutils.h \
	      fs/mkdir.cpp \
	      fs/mkdir.h \
	      utils/mrand.cpp \
	      utils/mrand.h \
	      utils/parameters.cpp \
	      utils/parameters.h \
	      fs/paths.cpp \
	      fs/paths.h \
	      utils/perfomance.cpp \
	      utils/perfomance.h \
	      fs/virtfs/fsfuncs.h \
	      fs/virtfs/rwops.cpp \
	      fs/virtfs/rwops.h \
	      fs/virtfs/tools.cpp \
	      fs/virtfs/tools.h \
	      fs/virtfs/list.cpp \
	      fs/virtfs/list.h \
	      utils/process.cpp \
	      utils/process.h \
	      utils/sdl2helper.cpp \
	      utils/sdl2helper.h \
	      utils/sdlcheckutils.cpp \
	      utils/sdlcheckutils.h \
	      utils/sdlhelper.cpp \
	      utils/sdlhelper.h \
	      utils/sdlmemoryobject.h \
	      fs/specialfolder.cpp \
	      fs/specialfolder.h \
	      utils/stringmap.h \
	      utils/stringutils.cpp \
	      utils/stringutils.h \
	      utils/stringvector.h \
	      utils/timer.cpp \
	      utils/timer.h \
	      utils/vector.h \
	      fs/virtfs/file.cpp \
	      fs/virtfs/file.h \
	      utils/mutex.h \
	      utils/naclmessages.cpp \
	      utils/naclmessages.h \
	      utils/xml.h \
	      utils/xml.inc \
	      utils/xmlutils.cpp \
	      utils/xmlutils.h \
	      utils/xmlwriter.h \
	      test/testlauncher.cpp \
	      test/testlauncher.h \
	      test/testmain.cpp \
	      test/testmain.h \
	      actions/actiondef.h \
	      actions/actionfuncptr.h \
	      listeners/baselistener.hpp \
	      commandline.cpp \
	      commandline.h \
	      configmanager.cpp \
	      configmanager.h \
	      listeners/configlistener.h \
	      configuration.cpp \
	      configuration.h \
	      debug.h \
	      defaults.cpp \
	      defaults.h \
	      dirs.cpp \
	      dirs.h \
	      eventsmanager.cpp \
	      eventsmanager.h \
	      const/equipment.h \
	      const/itemshortcut.h \
	      const/spells.h \
	      const/utils/timer.h \
	      const/utils/utf8.h \
	      const/gui/chat.h \
	      const/gui/theme.h \
	      const/render/graphics.h \
	      render/graphics.cpp \
	      render/graphics.h \
	      graphicsmanager.cpp \
	      graphicsmanager.h \
	      render/vertexes/imagecollection.cpp \
	      render/vertexes/imagecollection.h \
	      render/vertexes/imagevertexes.cpp \
	      render/vertexes/imagevertexes.h \
	      render/vertexes/openglgraphicsvertexes.cpp \
	      render/vertexes/openglgraphicsvertexes.h \
	      events/inputevent.h \
	      input/inputactiondata.h \
	      input/inputactionoperators.cpp \
	      input/inputactionoperators.h \
	      input/inputactionsortfunctor.h \
	      enums/input/inputcondition.h \
	      input/inputfunction.h \
	      input/inputitem.h \
	      input/inputmanager.cpp \
	      input/inputmanager.h \
	      enums/input/inputtype.h \
	      enums/input/keyvalue.h \
	      input/joystick.cpp \
	      input/joystick.h \
	      input/keyboardconfig.cpp \
	      input/keyboardconfig.h \
	      input/keyinput.h \
	      input/touch/multitouchmanager.cpp \
	      input/touch/multitouchmanager.h \
	      localconsts.h \
	      logger.cpp \
	      logger.h \
	      maingui.cpp \
	      maingui.h \
	      render/opengl/mgl.cpp \
	      render/opengl/mgl.h \
	      render/opengl/mgl.hpp \
	      render/opengl/mglcheck.h \
	      render/opengl/mgldefines.h \
	      render/opengl/mglemu.cpp \
	      render/opengl/mglemu.h \
	      render/opengl/mglfunctions.h \
	      render/opengl/mgltypes.h \
	      render/openglx/mglx.cpp \
	      render/openglx/mglx.h \
	      render/openglx/mglx.hpp \
	      render/openglx/mglxinit.cpp \
	      render/openglx/mglxinit.h \
	      render/openglx/mglxtypes.h \
	      render/mobileopengl2graphics.cpp \
	      render/mobileopengl2graphics.h \
	      render/mobileopenglgraphics.cpp \
	      render/mobileopenglgraphics.h \
	      render/modernopenglgraphics.cpp \
	      render/modernopenglgraphics.h \
	      render/nacl/naclfunctions.h \
	      render/nacl/naclgles.cpp \
	      render/nacl/naclgles.h \
	      render/opengl/naclglfunctions.h \
	      render/normalopenglgraphics.cpp \
	      render/normalopenglgraphics.h \
	      input/mouseinput.h \
	      options.h \
	      render/graphicsdef.hpp \
	      render/imagegraphics.cpp \
	      render/imagegraphics.h \
	      render/graphics_calcImageRect.hpp \
	      render/graphics_drawImageRect.hpp \
	      render/nullopenglgraphics.cpp \
	      render/nullopenglgraphics.h \
	      render/opengl/opengldebug.h \
	      render/openglgraphicsdef.hpp \
	      render/openglgraphicsdef1.hpp \
	      render/openglgraphicsdefadvanced.hpp \
	      render/renderers.cpp \
	      render/renderers.h \
	      render/rendererslistsdl.h \
	      render/rendererslistsdl2.h \
	      enums/particle/alivestatus.h \
	      enums/particle/particlechangefunc.h \
	      enums/particle/particletype.h \
	      enums/render/blitmode.h \
	      enums/render/rendertype.h \
	      being/playerignorestrategy.h \
	      enums/being/rank.h \
	      enums/being/reachable.h \
	      enums/being/relation.h \
	      enums/being/targetcursorsize.h \
	      enums/being/targetcursortype.h \
	      enums/being/visiblename.h \
	      enums/being/visiblenamepos.h \
	      position.cpp \
	      position.h \
	      render/safeopenglgraphics.cpp\
	      render/safeopenglgraphics.h \
	      render/sdl2graphics.cpp \
	      render/sdl2graphics.h \
	      render/sdl2softwaregraphics.cpp \
	      render/sdl2softwaregraphics.h \
	      render/sdlgraphics.cpp \
	      render/sdlgraphics.h \
	      render/softwaregraphicsdef.hpp \
	      sdlshared.h \
	      settings.cpp \
	      settings.h \
	      enums/screendensity.h \
	      enums/state.h \
	      enums/textcommandtype.h \
	      enums/simpletypes/advanced.h \
	      enums/simpletypes/allowquit.h \
	      enums/simpletypes/allowsort.h \
	      enums/simpletypes/allplayers.h \
	      enums/simpletypes/append.h \
	      enums/simpletypes/autorelease.h \
	      enums/simpletypes/autotarget.h \
	      enums/simpletypes/beingid.h \
	      enums/simpletypes/beingtypeid.h \
	      enums/simpletypes/booldefines.h \
	      enums/simpletypes/damaged.h \
	      enums/simpletypes/donotalign.h \
	      enums/simpletypes/enable.h \
	      enums/simpletypes/enumdefines.h \
	      enums/simpletypes/equipm.h \
	      enums/simpletypes/equipped.h \
	      enums/simpletypes/favorite.h \
	      enums/simpletypes/forcedisplay.h \
	      enums/simpletypes/forcequantity.h \
	      enums/simpletypes/identified.h \
	      enums/simpletypes/ignorerecord.h \
	      enums/simpletypes/intdefines.h \
	      enums/simpletypes/issell.h \
	      enums/simpletypes/isstart.h \
	      enums/simpletypes/itemcolor.h \
	      enums/simpletypes/keep.h \
	      enums/simpletypes/losefocusontab.h \
	      enums/simpletypes/mainconfig.h \
	      enums/simpletypes/modal.h \
	      enums/simpletypes/modifiable.h \
	      enums/simpletypes/move.h \
	      enums/simpletypes/notify.h \
	      enums/simpletypes/npcnames.h \
	      enums/simpletypes/online.h \
	      enums/simpletypes/onthefly.h \
	      enums/simpletypes/opaque.h \
	      enums/simpletypes/protected.h \
	      enums/simpletypes/separator.h \
	      enums/simpletypes/sfx.h \
	      enums/simpletypes/showcenter.h \
	      enums/simpletypes/showemptyrows.h \
	      enums/simpletypes/skiperror.h \
	      enums/simpletypes/speech.h \
	      enums/simpletypes/stringdefines.h \
	      enums/simpletypes/stringdefines2.h \
	      enums/simpletypes/trading.h \
	      enums/simpletypes/tryremovecolors.h \
	      enums/simpletypes/useargs.h \
	      enums/simpletypes/usebase64.h \
	      enums/simpletypes/usevirtfs.h \
	      enums/simpletypes/visible.h \
	      render/surfacegraphics.cpp \
	      render/surfacegraphics.h \
	      render/shaders/shader.cpp \
	      render/shaders/shader.h \
	      render/shaders/shaderprogram.cpp \
	      render/shaders/shaderprogram.h \
	      render/shaders/shadersmanager.cpp \
	      render/shaders/shadersmanager.h \
	      resources/animation/animation.cpp \
	      resources/animation/animation.h \
	      resources/animation/simpleanimation.cpp \
	      resources/animation/simpleanimation.h \
	      resources/sprite/sprite.h \
	      const/sound.h \
	      soundmanager.cpp \
	      soundmanager.h \
	      text.cpp \
	      text.h \
	      textmanager.cpp \
	      textmanager.h \
	      input/touch/touchactions.cpp \
	      input/touch/touchactions.h \
	      input/touch/touchmanager.cpp \
	      input/touch/touchmanager.h \
	      variabledata.h \
	      vector.cpp \
	      vector.h \
	      net/ipc.cpp \
	      net/ipc.h \
	      net/sdltcpnet.cpp \
	      net/sdltcpnet.h \
	      gui/popups/textboxpopup.cpp \
	      gui/popups/textboxpopup.h \
	      gui/popups/textpopup.cpp \
	      gui/popups/textpopup.h \
	      gui/popupmanager.cpp \
	      gui/popupmanager.h \
	      enums/input/inputaction.h \
	      enums/input/inputgroup.h \
	      input/inputactionmap.h \
	      resources/memorycounter.cpp \
	      resources/memorycounter.h \
	      resources/memorymanager.cpp \
	      resources/memorymanager.h \
	      resources/missileinfo.h \
	      winver.h \
	      enums/fs/fsentrytype.h \
	      fs/virtfs/fileapi.h \
	      fs/virtfs/rwopstypes.h \
	      fs/virtfs/direntry.cpp \
	      fs/virtfs/direntry.h \
	      fs/virtfs/fs.cpp \
	      fs/virtfs/fs.h \
	      fs/virtfs/fsdir.cpp \
	      fs/virtfs/fsdir.h \
	      fs/virtfs/fsdirrwops.cpp \
	      fs/virtfs/fsdirrwops.h \
	      fs/virtfs/fsentry.cpp \
	      fs/virtfs/fsentry.h \
	      fs/virtfs/fszip.cpp \
	      fs/virtfs/fszip.h \
	      fs/virtfs/fsziprwops.cpp \
	      fs/virtfs/fsziprwops.h \
	      fs/virtfs/zipentry.cpp \
	      fs/virtfs/zipentry.h \
	      fs/virtfs/zipreader.cpp \
	      fs/virtfs/zipreader.h \
	      fs/virtfs/ziplocalheader.cpp \
	      fs/virtfs/ziplocalheader.h

if ENABLE_PUGIXML
BASE_SRC += utils/xml/pugixml.cpp \
	      utils/xml/pugixml.h \
	      utils/xml/pugixml.inc \
	      utils/xml/pugixmlwriter.cpp \
	      utils/xml/pugixmlwriter.h
endif
if ENABLE_LIBXML
BASE_SRC += utils/xml/libxml.cpp \
	      utils/xml/libxml.h \
	      utils/xml/libxml.inc
endif
if ENABLE_TINYXML2
BASE_SRC += utils/xml/tinyxml2.cpp \
	      utils/xml/tinyxml2.h \
	      utils/xml/tinyxml2.inc
endif

dyecmd_SOURCES += ${BASE_SRC}

SRC = ${BASE_SRC} \
	      main.cpp \
	      main.h \
	      avatar.cpp \
	      avatar.h \
	      actormanager.cpp \
	      actormanager.h \
	      resources/sprite/animatedsprite.cpp \
	      resources/sprite/animatedsprite.h \
	      resources/sprite/animationdelayload.cpp \
	      resources/sprite/animationdelayload.h \
	      actions/actions.cpp \
	      actions/actions.h \
	      actions/chat.cpp \
	      actions/chat.h \
	      actions/commands.cpp \
	      actions/commands.h \
	      actions/move.cpp \
	      actions/move.h \
	      actions/pets.cpp \
	      actions/pets.h \
	      actions/statusbar.cpp \
	      actions/statusbar.h \
	      actions/tabs.cpp \
	      actions/tabs.h \
	      actions/target.cpp \
	      actions/target.h \
	      actions/windows.cpp \
	      actions/windows.h \
	      client.cpp \
	      client.h \
	      resources/dbmanager.cpp \
	      resources/dbmanager.h \
	      resources/sprite/imagesprite.cpp \
	      resources/sprite/imagesprite.h \
	      resources/inventory/inventory.cpp \
	      resources/inventory/inventory.h \
	      textcommand.cpp \
	      textcommand.h \
	      resources/item/cardslist.cpp \
	      resources/item/cardslist.h \
	      resources/item/complexitem.cpp \
	      resources/item/complexitem.h \
	      resources/item/item.cpp \
	      resources/item/item.h \
	      resources/item/itemfieldtype.h \
	      resources/item/itemoption.h \
	      resources/item/itemoptionslist.h \
	      itemcolormanager.cpp \
	      itemcolormanager.h \
	      gui/shortcut/itemshortcut.cpp \
	      gui/shortcut/itemshortcut.h \
	      itemsoundmanager.cpp \
	      itemsoundmanager.h \
	      enums/commandtarget.h \
	      enums/dragdropsource.h \
	      enums/emotetype.h \
	      enums/equipslot.h \
	      enums/guildpositionflags.h \
	      enums/inventorytype.h \
	      gui/shortcut/spellshortcut.cpp \
	      gui/shortcut/spellshortcut.h \
	      statuseffect.cpp \
	      statuseffect.h \
	      particle/animationparticle.cpp \
	      particle/animationparticle.h \
	      being/being.cpp \
	      being/being.h \
	      enums/being/beingaction.h \
	      being/beingcacheentry.h \
	      enums/being/beingdirection.h \
	      being/beingflag.h \
	      being/beingspeech.h \
	      being/castingeffect.cpp \
	      being/castingeffect.h \
	      being/localplayer.cpp \
	      being/localplayer.h \
	      being/mercenaryinfo.h \
	      being/petinfo.h \
	      being/compounditem.h \
	      being/compoundsprite.cpp \
	      being/compoundsprite.h \
	      being/crazymoves.cpp \
	      being/crazymoves.h \
	      enums/being/cookingtype.h \
	      enums/being/gender.h \
	      being/homunculusinfo.h \
	      enums/being/pickup.h \
	      beingequipbackend.cpp \
	      beingequipbackend.h \
	      resources/item/shopitem.cpp \
	      resources/item/shopitem.h \
	      being/flooritem.cpp \
	      being/flooritem.h \
	      game.cpp \
	      game.h \
	      gamemodifiers.cpp \
	      gamemodifiers.h \
	      guild.cpp \
	      guild.h \
	      spellmanager.cpp \
	      spellmanager.h \
	      chatlogger.cpp \
	      chatlogger.h \
	      gui/shortcut/shortcutbase.cpp \
	      gui/shortcut/shortcutbase.h \
	      being/playerinfo.cpp \
	      being/playerinfo.h \
	      being/playerrelation.cpp \
	      being/playerrelation.h \
	      being/playerrelations.cpp \
	      being/playerrelations.h \
	      gui/touchactiondata.cpp \
	      gui/touchactiondata.h \
	      gui/models/avatarlistmodel.h \
	      gui/models/beingslistmodel.h \
	      gui/models/opengllistmodel.h \
	      gui/models/playerrelationlistmodel.h \
	      gui/models/playertablemodel.cpp \
	      gui/models/playertablemodel.h \
	      gui/models/questsmodel.h \
	      being/actor.cpp \
	      being/actor.h \
	      being/actorsprite.cpp \
	      being/actorsprite.h \
	      enums/being/actortype.h \
	      enums/being/attacktype.h \
	      enums/being/attributes.h \
	      enums/being/attributesstrings.cpp \
	      enums/being/attributesstrings.h \
	      enums/being/badgedrawtype.h \
	      enums/being/badgeindex.h \
	      dragdrop.h \
	      gui/shortcut/dropshortcut.cpp \
	      gui/shortcut/dropshortcut.h \
	      effectmanager.cpp \
	      effectmanager.h \
	      gui/shortcut/emoteshortcut.cpp \
	      gui/shortcut/emoteshortcut.h \
	      const/emoteshortcut.h \
	      equipment.h \
	      listeners/actorspritelistener.h \
	      listeners/arrowslistener.cpp \
	      listeners/arrowslistener.h \
	      listeners/assertlistener.cpp \
	      listeners/assertlistener.h \
	      listeners/awaylistener.cpp \
	      listeners/awaylistener.h \
	      listeners/charrenamelistener.cpp \
	      listeners/charrenamelistener.h \
	      gui/viewport.cpp \
	      gui/viewport.h \
	      gui/popups/itempopup.cpp \
	      gui/popups/itempopup.h \
	      gui/popups/spellpopup.cpp \
	      gui/popups/spellpopup.h \
	      gui/popups/statuspopup.cpp \
	      gui/popups/statuspopup.h \
	      gui/popups/popupmenu.cpp \
	      gui/popups/popupmenu.h \
	      gui/popups/skillpopup.cpp \
	      gui/popups/skillpopup.h \
	      gui/popups/speechbubble.cpp \
	      gui/popups/speechbubble.h \
	      gui/popups/beingpopup.cpp \
	      gui/popups/beingpopup.h \
	      gui/widgets/itemcontainer.cpp \
	      gui/widgets/itemcontainer.h \
	      gui/widgets/tabs/chat/battletab.cpp \
	      gui/widgets/tabs/chat/battletab.h \
	      gui/widgets/tabs/chat/channeltab.cpp \
	      gui/widgets/tabs/chat/channeltab.h \
	      gui/widgets/attrs/attrdisplay.cpp \
	      gui/widgets/attrs/attrdisplay.h \
	      gui/widgets/attrs/changedisplay.cpp \
	      gui/widgets/attrs/changedisplay.h \
	      gui/widgets/attrs/derdisplay.cpp \
	      gui/widgets/attrs/derdisplay.h \
	      gui/widgets/tabs/debugwindowtabs.cpp \
	      gui/widgets/tabs/debugwindowtabs.h \
	      gui/widgets/tabs/chat/chattab.cpp \
	      gui/widgets/tabs/chat/chattab.h \
	      gui/widgets/tabs/chat/gmtab.cpp \
	      gui/widgets/tabs/chat/gmtab.h \
	      gui/widgets/tabs/chat/langtab.cpp \
	      gui/widgets/tabs/chat/langtab.h \
	      gui/widgets/tabs/chat/tradetab.cpp \
	      gui/widgets/tabs/chat/tradetab.h \
	      gui/widgets/tabs/chat/whispertab.cpp \
	      gui/widgets/tabs/chat/whispertab.h \
	      gui/widgets/tabs/chat/guildtab.cpp \
	      gui/widgets/tabs/chat/guildtab.h \
	      gui/widgets/tabs/chat/partytab.cpp \
	      gui/widgets/tabs/chat/partytab.h \
	      gui/widgets/avatarlistbox.cpp \
	      gui/widgets/avatarlistbox.h \
	      gui/widgets/characterdisplay.cpp \
	      gui/widgets/characterdisplay.h \
	      gui/widgets/characterviewbase.h \
	      gui/widgets/characterviewnormal.cpp \
	      gui/widgets/characterviewnormal.h \
	      gui/widgets/characterviewsmall.cpp \
	      gui/widgets/characterviewsmall.h \
	      gui/widgets/itemlinkhandler.cpp \
	      gui/widgets/itemlinkhandler.h \
	      gui/widgets/emoteshortcutcontainer.cpp \
	      gui/widgets/emoteshortcutcontainer.h \
	      gui/widgets/virtshortcutcontainer.cpp \
	      gui/widgets/virtshortcutcontainer.h \
	      gui/widgets/emotepage.cpp \
	      gui/widgets/emotepage.h \
	      gui/widgets/itemshortcutcontainer.cpp \
	      gui/widgets/itemshortcutcontainer.h \
	      gui/widgets/spellshortcutcontainer.cpp \
	      gui/widgets/spellshortcutcontainer.h \
	      gui/widgets/statspage.cpp \
	      gui/widgets/statspage.h \
	      gui/widgets/statspagebasic.cpp \
	      gui/widgets/statspagebasic.h \
	      gui/widgets/selldialog.cpp \
	      gui/widgets/selldialog.h \
	      gui/widgets/tabs/setup_audio.cpp \
	      gui/widgets/tabs/setup_audio.h \
	      gui/widgets/tabs/setup_colors.cpp \
	      gui/widgets/tabs/setup_colors.h \
	      gui/widgets/tabs/setup_joystick.cpp \
	      gui/widgets/tabs/setup_joystick.h \
	      gui/widgets/tabs/setup_mods.cpp \
	      gui/widgets/tabs/setup_mods.h \
	      gui/widgets/tabs/setup_other.cpp \
	      gui/widgets/tabs/setup_other.h \
	      gui/widgets/tabs/setup_theme.cpp \
	      gui/widgets/tabs/setup_theme.h \
	      gui/widgets/tabs/setup_touch.cpp \
	      gui/widgets/tabs/setup_touch.h \
	      gui/widgets/tabs/setup_chat.cpp \
	      gui/widgets/tabs/setup_chat.h \
	      gui/widgets/tabs/setup_input.cpp \
	      gui/widgets/tabs/setup_input.h \
	      gui/widgets/tabs/setup_perfomance.cpp \
	      gui/widgets/tabs/setup_perfomance.h \
	      gui/widgets/tabs/setup_players.cpp \
	      gui/widgets/tabs/setup_players.h \
	      gui/widgets/tabs/setup_quick.cpp \
	      gui/widgets/tabs/setup_quick.h \
	      gui/widgets/tabs/setup_relations.cpp \
	      gui/widgets/tabs/setup_relations.h \
	      gui/widgets/tabs/setup_video.cpp \
	      gui/widgets/tabs/setup_video.h \
	      gui/widgets/tabs/setup_visual.cpp \
	      gui/widgets/tabs/setup_visual.h \
	      gui/widgets/serverslistbox.h \
	      gui/widgets/setupbuttonitem.cpp \
	      gui/widgets/setupbuttonitem.h \
	      gui/widgets/setupitem.cpp \
	      gui/widgets/setupitem.h \
	      gui/widgets/setupquickitem.cpp \
	      gui/widgets/setupquickitem.h \
	      gui/widgets/tabs/setuptab.cpp \
	      gui/widgets/tabs/setuptab.h \
	      gui/widgets/tabs/setuptabscroll.cpp \
	      gui/widgets/tabs/setuptabscroll.h \
	      gui/widgets/setuptouchitem.cpp \
	      gui/widgets/setuptouchitem.h \
	      gui/widgets/playerbox.cpp \
	      gui/widgets/playerbox.h \
	      gui/models/shopitems.cpp \
	      gui/models/shopitems.h \
	      gui/widgets/shoplistbox.cpp \
	      gui/widgets/shoplistbox.h \
	      gui/widgets/shortcutcontainer.cpp \
	      gui/widgets/shortcutcontainer.h \
	      resources/skill/skilldata.cpp \
	      resources/skill/skilldata.h \
	      resources/skill/skillinfo.cpp \
	      resources/skill/skillinfo.h \
	      gui/widgets/skilllistbox.h \
	      gui/widgets/skillrectanglelistbox.h \
	      gui/widgets/tabs/shortcuttab.h \
	      gui/widgets/tabs/skilltab.h \
	      gui/widgets/tabs/socialattacktab.h \
	      gui/widgets/tabs/socialfriendsfunctor.h \
	      gui/widgets/tabs/socialfriendstab.h \
	      gui/widgets/tabs/socialguildtab.h \
	      gui/widgets/tabs/socialnavigationtab.h \
	      gui/widgets/tabs/socialpartytab.h \
	      gui/widgets/tabs/socialpickuptab.h \
	      gui/widgets/tabs/socialplayerstab.h \
	      gui/widgets/tabs/socialtab.h \
	      gui/widgets/tabs/socialtabbase.h \
	      gui/models/skillmodel.cpp \
	      gui/models/skillmodel.h \
	      gui/models/sortlistmodelbuy.h \
	      gui/models/sortlistmodelinv.h \
	      gui/models/touchactionmodel.cpp \
	      gui/models/touchactionmodel.h \
	      gui/models/updatetypemodel.h \
	      gui/models/updatelistmodel.h \
	      gui/models/worldlistmodel.h \
	      gui/windowmenu.cpp \
	      gui/windowmenu.h \
	      gui/windows/tradewindow.cpp \
	      gui/windows/tradewindow.h \
	      gui/windows/updaterwindow.cpp \
	      gui/windows/updaterwindow.h \
	      gui/windows/whoisonline.cpp \
	      gui/windows/whoisonline.h \
	      gui/windows/worldselectdialog.cpp \
	      gui/windows/worldselectdialog.h \
	      gui/windows/shopwindow.cpp \
	      gui/windows/shopwindow.h \
	      gui/windows/shortcutwindow.cpp \
	      gui/windows/shortcutwindow.h \
	      gui/windows/skilldialog.cpp \
	      gui/windows/skilldialog.h \
	      gui/windows/socialwindow.cpp \
	      gui/windows/socialwindow.h \
	      gui/windows/statuswindow.cpp \
	      gui/windows/statuswindow.h \
	      gui/windows/textdialog.cpp \
	      gui/windows/textdialog.h \
	      gui/windows/textselectdialog.cpp \
	      gui/windows/textselectdialog.h \
	      gui/windows/setupwindow.cpp \
	      gui/windows/setupwindow.h \
	      gui/windows/serverdialog.cpp \
	      gui/windows/serverdialog.h \
	      gui/windows/serverinfowindow.cpp \
	      gui/windows/serverinfowindow.h \
	      gui/windows/quitdialog.cpp \
	      gui/windows/quitdialog.h \
	      gui/windows/questswindow.cpp \
	      gui/windows/questswindow.h \
	      gui/windows/registerdialog.cpp \
	      gui/windows/registerdialog.h \
	      gui/windows/buydialog.cpp \
	      gui/windows/buydialog.h \
	      gui/windows/buyselldialog.cpp \
	      gui/windows/buyselldialog.h \
	      gui/windows/changeemaildialog.cpp \
	      gui/windows/changeemaildialog.h \
	      gui/windows/changepassworddialog.cpp \
	      gui/windows/changepassworddialog.h \
	      gui/windows/charselectdialog.cpp \
	      gui/windows/charselectdialog.h \
	      gui/windows/charcreatedialog.cpp \
	      gui/windows/charcreatedialog.h \
	      gui/windows/chardeleteconfirm.h \
	      gui/windows/chatwindow.cpp \
	      gui/windows/chatwindow.h \
	      gui/windows/connectiondialog.cpp \
	      gui/windows/connectiondialog.h \
	      gui/windows/debugwindow.cpp \
	      gui/windows/debugwindow.h \
	      gui/windows/didyouknowwindow.cpp \
	      gui/windows/didyouknowwindow.h \
	      gui/windows/editserverdialog.cpp \
	      gui/windows/editserverdialog.h \
	      gui/windows/emotewindow.cpp \
	      gui/windows/emotewindow.h \
	      gui/windows/equipmentwindow.cpp \
	      gui/windows/equipmentwindow.h \
	      gui/windows/helpwindow.cpp \
	      gui/windows/helpwindow.h \
	      gui/windows/inventorywindow.cpp \
	      gui/windows/inventorywindow.h \
	      gui/windows/itemamountwindow.cpp \
	      gui/windows/itemamountwindow.h \
	      gui/windows/killstats.cpp \
	      gui/windows/killstats.h \
	      gui/windows/logindialog.cpp \
	      gui/windows/logindialog.h \
	      gui/windows/minimap.cpp \
	      gui/windows/minimap.h \
	      gui/windows/ministatuswindow.cpp \
	      gui/windows/ministatuswindow.h \
	      gui/windows/npcdialog.cpp \
	      gui/windows/npcdialog.h \
	      gui/windows/npcselldialog.cpp \
	      gui/windows/npcselldialog.h \
	      gui/windows/outfitwindow.cpp \
	      gui/windows/outfitwindow.h \
	      gui/windows/textcommandeditor.cpp \
	      gui/windows/textcommandeditor.h \
	      gui/setupinputpages.cpp \
	      gui/setupinputpages.h \
	      input/pages/basic.cpp \
	      input/pages/basic.h \
	      input/pages/chat.cpp \
	      input/pages/chat.h \
	      input/pages/craft.cpp \
	      input/pages/craft.h \
	      input/pages/emotes.cpp \
	      input/pages/emotes.h \
	      input/pages/gui.cpp \
	      input/pages/gui.h \
	      input/pages/move.cpp \
	      input/pages/move.h \
	      input/pages/other.cpp \
	      input/pages/other.h \
	      input/pages/outfits.cpp \
	      input/pages/outfits.h \
	      input/pages/shortcuts.cpp \
	      input/pages/shortcuts.h \
	      input/pages/windows.cpp \
	      input/pages/windows.h \
	      listeners/playerpostdeathlistener.h \
	      listeners/inputactionremotelistener.cpp \
	      listeners/inputactionremotelistener.h \
	      listeners/inputactionreplaylistener.cpp \
	      listeners/inputactionreplaylistener.h \
	      listeners/insertcardlistener.h \
	      listeners/inventorylistener.h \
	      listeners/updatestatuslistener.cpp \
	      listeners/updatestatuslistener.h \
	      listeners/uploadlistener.cpp \
	      listeners/uploadlistener.h \
	      listeners/playerlistener.cpp \
	      listeners/playerlistener.h \
	      listeners/playerrelationslistener.h \
	      listeners/renamelistener.cpp \
	      listeners/renamelistener.h \
	      listeners/requesttradelistener.h \
	      listeners/textskilllistener.cpp \
	      listeners/textskilllistener.h \
	      particle/rotationalparticle.cpp \
	      particle/rotationalparticle.h \
	      navigationmanager.cpp \
	      navigationmanager.h \
	      notifymanager.cpp \
	      notifymanager.h \
	      particle/imageparticle.cpp \
	      particle/imageparticle.h \
	      particle/particle.cpp \
	      particle/particle.h \
	      particle/particlecontainer.cpp \
	      particle/particlecontainer.h \
	      particle/particleemitter.cpp \
	      particle/particleemitter.h \
	      particle/particleemitterprop.h \
	      particle/particleengine.cpp \
	      particle/particleengine.h \
	      particle/particleinfo.h \
	      particle/particlelist.cpp \
	      particle/particlelist.h \
	      particle/particletimer.h \
	      particle/particlevector.cpp \
	      particle/particlevector.h \
	      party.cpp \
	      party.h \
	      utils/chatutils.cpp \
	      utils/chatutils.h \
	      utils/gmfunctions.cpp \
	      utils/gmfunctions.h \
	      resources/db/avatardb.cpp \
	      resources/db/avatardb.h \
	      resources/db/badgesdb.cpp \
	      resources/db/badgesdb.h \
	      resources/db/chardb.cpp \
	      resources/db/chardb.h \
	      resources/db/colordb.cpp \
	      resources/db/colordb.h \
	      resources/db/commandsdb.cpp \
	      resources/db/commandsdb.h \
	      resources/db/deaddb.cpp \
	      resources/db/deaddb.h \
	      resources/db/elementaldb.cpp \
	      resources/db/elementaldb.h \
	      resources/db/emotedb.cpp \
	      resources/db/emotedb.h \
	      resources/db/groupdb.cpp \
	      resources/db/groupdb.h \
	      resources/db/homunculusdb.cpp \
	      resources/db/homunculusdb.h \
	      resources/db/horsedb.cpp \
	      resources/db/horsedb.h \
	      resources/db/itemdb.cpp \
	      resources/db/itemdb.h \
	      resources/basicstat.h \
	      resources/db/itemfielddb.cpp \
	      resources/db/itemfielddb.h \
	      resources/db/itemoptiondb.cpp \
	      resources/db/itemoptiondb.h \
	      resources/db/languagedb.cpp \
	      resources/db/languagedb.h \
	      resources/db/mapdb.cpp \
	      resources/db/mapdb.h \
	      resources/db/mercenarydb.cpp \
	      resources/db/mercenarydb.h \
	      resources/db/moddb.cpp \
	      resources/db/moddb.h \
	      resources/db/monsterdb.cpp \
	      resources/db/monsterdb.h \
	      resources/db/networkdb.cpp \
	      resources/db/networkdb.h \
	      resources/db/npcdb.cpp \
	      resources/db/npcdb.h \
	      resources/db/npcdialogdb.cpp \
	      resources/db/npcdialogdb.h \
	      resources/db/palettedb.cpp \
	      resources/db/palettedb.h \
	      resources/db/petdb.cpp \
	      resources/db/petdb.h \
	      resources/db/questdb.cpp \
	      resources/db/questdb.h \
	      resources/db/skillunitdb.cpp \
	      resources/db/skillunitdb.h \
	      resources/db/sounddb.cpp \
	      resources/db/sounddb.h \
	      resources/db/statdb.cpp \
	      resources/db/statdb.h \
	      resources/db/statuseffectdb.cpp \
	      resources/db/statuseffectdb.h \
	      resources/db/textdb.cpp \
	      resources/db/textdb.h \
	      resources/db/unitsdb.cpp \
	      resources/db/unitsdb.h \
	      resources/db/weaponsdb.cpp \
	      resources/db/weaponsdb.h \
	      resources/iteminfo.h \
	      resources/iteminfo.cpp \
	      resources/itemmenuitem.h \
	      enums/resources/cursor.h \
	      enums/resources/frametype.h \
	      enums/resources/imageposition.h \
	      enums/resources/imagetype.h \
	      enums/resources/map/maplayertype.h \
	      enums/resources/item/itemdbtype.h \
	      enums/resources/item/itemsoundevent.h \
	      enums/resources/item/itemtype.h \
	      resources/itemtypemap.h \
	      resources/itemtypemapdata.h \
	      resources/mapinfo.h \
	      enums/resources/map/mapitemtype.h \
	      enums/resources/map/maplayerposition.h \
	      resources/mapreader.cpp \
	      resources/mapreader.h \
	      resources/modinfo.cpp \
	      resources/modinfo.h \
	      resources/beingcommon.cpp \
	      resources/beingcommon.h \
	      resources/beinginfo.cpp \
	      resources/beinginfo.h \
	      resources/beingmenuitem.h \
	      resources/beingslot.cpp \
	      resources/beingslot.h \
	      resources/chatobject.cpp \
	      resources/chatobject.h \
	      resources/delayedmanager.cpp \
	      resources/delayedmanager.h \
	      resources/effectdescription.h \
	      resources/emoteinfo.h \
	      resources/emotesprite.h \
	      resources/equipmentslots.h \
	      resources/horseinfo.h \
	      resources/horseoffset.h \
	      resources/sprite/spritedisplay.h \
	      resources/sprite/spritereference.h \
	      resources/atlas/textureatlas.h \
	      resources/updatefile.h \
	      enums/resources/map/blockmask.h \
	      enums/resources/map/blocktype.h \
	      enums/resources/map/collisiontype.h \
	      enums/resources/skill/casttype.h \
	      resources/map/location.h \
	      resources/map/map.cpp \
	      resources/map/map.h \
	      const/resources/item/cards.h \
	      const/resources/item/itemoptions.h \
	      const/resources/map/map.h \
	      resources/map/mapheights.cpp \
	      resources/map/mapheights.h \
	      resources/map/mapitem.cpp \
	      resources/map/mapitem.h \
	      resources/map/maplayer.cpp \
	      resources/map/maplayer.h \
	      resources/map/mapobject.h \
	      resources/map/mapobjectlist.h \
	      resources/map/maprowvertexes.h \
	      enums/resources/map/maptype.h \
	      resources/map/metatile.h \
	      resources/map/objectslayer.cpp \
	      resources/map/objectslayer.h \
	      particle/textparticle.cpp \
	      particle/textparticle.h \
	      resources/map/properties.h \
	      resources/map/speciallayer.cpp \
	      resources/map/speciallayer.h \
	      resources/map/tileanimation.cpp \
	      resources/map/tileanimation.h \
	      resources/map/tileinfo.h \
	      resources/map/tileset.h \
	      resources/map/walklayer.cpp \
	      resources/map/walklayer.h \
	      net/adminhandler.h \
	      net/beinghandler.h \
	      net/buysellhandler.h \
	      net/character.h \
	      net/characters.h \
	      net/charserverhandler.cpp \
	      net/charserverhandler.h \
	      net/chathandler.h \
	      net/download.cpp \
	      net/download.h \
	      net/gamehandler.h \
	      net/generalhandler.h \
	      net/guildhandler.h \
	      net/inventoryhandler.h \
	      net/ea/inventoryitem.h \
	      net/logindata.h \
	      net/loginhandler.h \
	      net/messagein.cpp \
	      net/messagein.h \
	      net/messageout.cpp \
	      net/messageout.h \
	      net/net.cpp \
	      net/net.h \
	      const/net/inventory.h \
	      const/net/maxpacketversion.h \
	      const/net/net.h \
	      const/net/nostat.h \
	      net/npchandler.h \
	      net/partyhandler.h \
	      net/pethandler.h \
	      net/playerhandler.h \
	      net/questhandler.h \
	      net/recvpacketdefine.h \
	      net/serverfeatures.h \
	      net/serverinfo.h \
	      net/serverurlinfo.h \
	      net/skillhandler.h \
	      net/tradehandler.h \
	      net/updatetypeoperators.cpp \
	      net/updatetypeoperators.h \
	      net/uploadcharinfo.h \
	      net/worldinfo.h \
	      net/packetcounters.cpp \
	      net/packetcounters.h \
	      net/packetfunction.h \
	      net/packetinfo.h \
	      net/packetlimiter.cpp \
	      net/packetlimiter.h \
	      net/protocoloutdefine.h \
	      net/protocoloutinclude.h \
	      net/protocoloutupdate.h \
	      net/ea/adminrecv.cpp \
	      net/ea/adminrecv.h \
	      net/ea/adminhandler.cpp \
	      net/ea/adminhandler.h \
	      net/ea/beingrecv.cpp \
	      net/ea/beingrecv.h \
	      net/ea/beinghandler.cpp \
	      net/ea/beinghandler.h \
	      net/ea/buysellhandler.cpp \
	      net/ea/buysellhandler.h \
	      net/ea/buysellrecv.cpp \
	      net/ea/buysellrecv.h \
	      net/ea/charserverhandler.cpp \
	      net/ea/charserverhandler.h \
	      net/ea/charserverrecv.cpp \
	      net/ea/charserverrecv.h \
	      net/ea/chathandler.cpp \
	      net/ea/chathandler.h \
	      net/ea/chatrecv.cpp \
	      net/ea/chatrecv.h \
	      net/ea/eaprotocol.h \
	      net/ea/equipbackend.h \
	      net/ea/gamehandler.cpp \
	      net/ea/gamehandler.h \
	      net/ea/gamerecv.cpp \
	      net/ea/gamerecv.h \
	      net/ea/inventoryhandler.cpp \
	      net/ea/inventoryhandler.h \
	      net/ea/inventoryrecv.cpp \
	      net/ea/inventoryrecv.h \
	      net/ea/itemhandler.cpp \
	      net/ea/itemhandler.h \
	      net/ea/itemrecv.cpp \
	      net/ea/itemrecv.h \
	      net/ea/loginhandler.cpp \
	      net/ea/loginhandler.h \
	      net/ea/loginrecv.cpp \
	      net/ea/loginrecv.h \
	      net/ea/network.cpp \
	      net/ea/network.h \
	      net/ea/maprecv.cpp \
	      net/ea/maprecv.h \
	      net/ea/npchandler.cpp \
	      net/ea/npchandler.h \
	      net/ea/npcrecv.cpp \
	      net/ea/npcrecv.h \
	      net/ea/partyhandler.cpp \
	      net/ea/partyhandler.h \
	      net/ea/partyrecv.cpp \
	      net/ea/partyrecv.h \
	      net/ea/playerhandler.cpp \
	      net/ea/playerhandler.h \
	      net/ea/playerrecv.cpp \
	      net/ea/playerrecv.h \
	      net/ea/skillhandler.cpp \
	      net/ea/skillhandler.h \
	      net/ea/skillrecv.cpp \
	      net/ea/skillrecv.h \
	      net/ea/token.h \
	      net/ea/tradehandler.cpp \
	      net/ea/tradehandler.h \
	      net/ea/traderecv.cpp \
	      net/ea/traderecv.h

if ENABLE_TMWA
manaplus_CXXFLAGS += -DTMWA_SUPPORT
SRC += \
	      enums/magicschool.h \
	      gui/models/magicschoolmodel.h \
	      gui/widgets/tabs/socialguildtab2.h \
	      gui/widgets/tabs/chat/emulateguildtab.cpp \
	      gui/widgets/tabs/chat/emulateguildtab.h \
	      gui/windows/shopselldialog.cpp \
	      gui/windows/shopselldialog.h \
	      net/tmwa/adminhandler.cpp \
	      net/tmwa/adminhandler.h \
	      net/tmwa/beingrecv.cpp \
	      net/tmwa/beingrecv.h \
	      net/tmwa/beinghandler.cpp \
	      net/tmwa/beinghandler.h \
	      net/tmwa/buysellhandler.cpp \
	      net/tmwa/buysellhandler.h \
	      net/tmwa/buysellrecv.cpp \
	      net/tmwa/buysellrecv.h \
	      net/tmwa/charserverhandler.cpp \
	      net/tmwa/charserverhandler.h \
	      net/tmwa/charserverrecv.cpp \
	      net/tmwa/charserverrecv.h \
	      net/tmwa/chathandler.cpp \
	      net/tmwa/chathandler.h \
	      net/tmwa/chatrecv.cpp \
	      net/tmwa/chatrecv.h \
	      net/tmwa/gamehandler.cpp \
	      net/tmwa/gamehandler.h \
	      net/tmwa/gamerecv.cpp \
	      net/tmwa/gamerecv.h \
	      net/tmwa/generalhandler.cpp \
	      net/tmwa/generalhandler.h \
	      net/tmwa/generalrecv.cpp \
	      net/tmwa/generalrecv.h \
	      net/tmwa/guildhandler.cpp \
	      net/tmwa/guildhandler.h \
	      net/tmwa/guildmanager.cpp \
	      net/tmwa/guildmanager.h \
	      net/tmwa/inventoryhandler.cpp \
	      net/tmwa/inventoryhandler.h \
	      net/tmwa/inventoryrecv.cpp \
	      net/tmwa/inventoryrecv.h \
	      net/tmwa/itemhandler.cpp \
	      net/tmwa/itemhandler.h \
	      net/tmwa/itemrecv.cpp \
	      net/tmwa/itemrecv.h \
	      net/tmwa/loginhandler.cpp \
	      net/tmwa/loginhandler.h \
	      net/tmwa/loginrecv.cpp \
	      net/tmwa/loginrecv.h \
	      net/tmwa/messagein.cpp \
	      net/tmwa/messagein.h \
	      net/tmwa/messageout.cpp \
	      net/tmwa/messageout.h \
	      net/tmwa/network.cpp \
	      net/tmwa/network.h \
	      net/tmwa/npchandler.cpp \
	      net/tmwa/npchandler.h \
	      net/tmwa/packetsin.inc \
	      net/tmwa/packetsout.inc \
	      net/tmwa/partyhandler.cpp \
	      net/tmwa/partyhandler.h \
	      net/tmwa/partyrecv.cpp \
	      net/tmwa/partyrecv.h \
	      net/tmwa/pethandler.cpp \
	      net/tmwa/pethandler.h \
	      net/tmwa/playerhandler.cpp \
	      net/tmwa/playerhandler.h \
	      net/tmwa/playerrecv.cpp \
	      net/tmwa/playerrecv.h \
	      net/tmwa/protocolout.cpp \
	      net/tmwa/protocolout.h \
	      net/tmwa/questhandler.cpp \
	      net/tmwa/questhandler.h \
	      net/tmwa/questrecv.cpp \
	      net/tmwa/questrecv.h \
	      net/tmwa/recvpackets.inc \
	      net/tmwa/serverfeatures.cpp \
	      net/tmwa/serverfeatures.h \
	      net/tmwa/skillhandler.cpp \
	      net/tmwa/skillhandler.h \
	      net/tmwa/skillrecv.cpp \
	      net/tmwa/skillrecv.h \
	      net/tmwa/sp.h \
	      net/tmwa/sprite.h \
	      net/tmwa/tradehandler.cpp \
	      net/tmwa/tradehandler.h \
	      net/tmwa/traderecv.cpp \
	      net/tmwa/traderecv.h \
	      net/tmwa/updateprotocol.cpp \
	      net/tmwa/updateprotocol.h \
	      net/tmwa/auctionhandler.cpp \
	      net/tmwa/auctionhandler.h \
	      net/tmwa/bankhandler.cpp \
	      net/tmwa/bankhandler.h \
	      net/tmwa/battlegroundhandler.cpp \
	      net/tmwa/battlegroundhandler.h \
	      net/tmwa/buyingstorehandler.cpp \
	      net/tmwa/buyingstorehandler.h \
	      net/tmwa/cashshophandler.cpp \
	      net/tmwa/cashshophandler.h \
	      net/tmwa/elementalhandler.cpp \
	      net/tmwa/elementalhandler.h \
	      net/tmwa/familyhandler.cpp \
	      net/tmwa/familyhandler.h \
	      net/tmwa/friendshandler.cpp \
	      net/tmwa/friendshandler.h \
	      net/tmwa/homunculushandler.cpp \
	      net/tmwa/homunculushandler.h \
	      net/tmwa/mailhandler.cpp \
	      net/tmwa/mailhandler.h \
	      net/tmwa/mail2handler.cpp \
	      net/tmwa/mail2handler.h \
	      net/tmwa/maphandler.cpp \
	      net/tmwa/maphandler.h \
	      net/tmwa/markethandler.cpp \
	      net/tmwa/markethandler.h \
	      net/tmwa/mercenaryhandler.cpp \
	      net/tmwa/mercenaryhandler.h \
	      net/tmwa/roulettehandler.cpp \
	      net/tmwa/roulettehandler.h \
	      net/tmwa/searchstorehandler.cpp \
	      net/tmwa/searchstorehandler.h \
	      net/tmwa/vendinghandler.cpp \
	      net/tmwa/vendinghandler.h
endif

SRC += gui/windows/bankwindow.cpp \
	      gui/windows/bankwindow.h \
	      gui/windows/buyingstoreselldialog.cpp \
	      gui/windows/buyingstoreselldialog.h \
	      gui/windows/cutinwindow.cpp \
	      gui/windows/cutinwindow.h \
	      gui/windows/eggselectiondialog.cpp \
	      gui/windows/eggselectiondialog.h \
	      gui/windows/insertcarddialog.cpp \
	      gui/windows/insertcarddialog.h \
	      gui/windows/maileditwindow.cpp \
	      gui/windows/maileditwindow.h \
	      gui/windows/mailviewwindow.cpp \
	      gui/windows/mailviewwindow.h \
	      gui/windows/mailwindow.cpp \
	      gui/windows/mailwindow.h \
	      enums/cutin.h \
	      listeners/banklistener.cpp \
	      listeners/banklistener.h \
	      listeners/buyingstoremodelistener.cpp \
	      listeners/buyingstoremodelistener.h \
	      listeners/buyingstoreslotslistener.cpp \
	      listeners/buyingstoreslotslistener.h \
	      listeners/pincodelistener.cpp \
	      listeners/pincodelistener.h \
	      listeners/requestadoptchildlistener.h \
	      listeners/shoprenamelistener.cpp \
	      listeners/shoprenamelistener.h \
	      listeners/skillwarplistener.cpp \
	      listeners/skillwarplistener.h \
	      listeners/vendingmodelistener.cpp \
	      listeners/vendingmodelistener.h \
	      listeners/vendingslotslistener.cpp \
	      listeners/vendingslotslistener.h \
	      resources/inventory/complexinventory.cpp \
	      resources/inventory/complexinventory.h \
	      net/auctionhandler.h \
	      net/bankhandler.h \
	      net/battlegroundhandler.h \
	      net/buyingstorehandler.h \
	      net/cashshophandler.h \
	      net/elementalhandler.h \
	      net/familyhandler.h \
	      net/friendshandler.h \
	      net/homunculushandler.h \
	      net/hostsgroup.h \
	      net/mailhandler.h \
	      net/mail2handler.h \
	      net/maphandler.h \
	      net/markethandler.h \
	      net/mercenaryhandler.h \
	      net/roulettehandler.h \
	      net/searchstorehandler.h \
	      net/vendinghandler.h \
	      net/eathena/adminrecv.cpp \
	      net/eathena/adminrecv.h \
	      net/eathena/adminhandler.cpp \
	      net/eathena/adminhandler.h \
	      net/eathena/auctionrecv.cpp \
	      net/eathena/auctionrecv.h \
	      net/eathena/auctionhandler.cpp \
	      net/eathena/auctionhandler.h \
	      net/eathena/bankrecv.cpp \
	      net/eathena/bankrecv.h \
	      net/eathena/bankhandler.cpp \
	      net/eathena/bankhandler.h \
	      net/eathena/battlegroundrecv.cpp \
	      net/eathena/battlegroundrecv.h \
	      net/eathena/battlegroundhandler.cpp \
	      net/eathena/battlegroundhandler.h \
	      net/eathena/cashshophandler.cpp \
	      net/eathena/cashshophandler.h \
	      net/eathena/cashshoprecv.cpp \
	      net/eathena/cashshoprecv.h \
	      net/eathena/beingrecv.cpp \
	      net/eathena/beingrecv.h \
	      net/eathena/beinghandler.cpp \
	      net/eathena/beinghandler.h \
	      net/eathena/buyingstorehandler.cpp \
	      net/eathena/buyingstorehandler.h \
	      net/eathena/buyingstorerecv.cpp \
	      net/eathena/buyingstorerecv.h \
	      enums/net/beingtype.h \
	      net/eathena/buysellhandler.cpp \
	      net/eathena/buysellhandler.h \
	      net/eathena/buysellrecv.cpp \
	      net/eathena/buysellrecv.h \
	      net/eathena/charserverhandler.cpp \
	      net/eathena/charserverhandler.h \
	      net/eathena/charserverrecv.cpp \
	      net/eathena/charserverrecv.h \
	      net/eathena/chathandler.cpp \
	      net/eathena/chathandler.h \
	      net/eathena/chatrecv.cpp \
	      net/eathena/chatrecv.h \
	      net/eathena/elementalhandler.cpp \
	      net/eathena/elementalhandler.h \
	      net/eathena/elementalrecv.cpp \
	      net/eathena/elementalrecv.h \
	      net/eathena/familyhandler.cpp \
	      net/eathena/familyhandler.h \
	      net/eathena/familyrecv.cpp \
	      net/eathena/familyrecv.h \
	      net/eathena/friendshandler.cpp \
	      net/eathena/friendshandler.h \
	      net/eathena/friendsrecv.cpp \
	      net/eathena/friendsrecv.h \
	      net/eathena/gamehandler.cpp \
	      net/eathena/gamehandler.h \
	      net/eathena/gamerecv.cpp \
	      net/eathena/gamerecv.h \
	      net/eathena/generalhandler.cpp \
	      net/eathena/generalhandler.h \
	      net/eathena/generalrecv.cpp \
	      net/eathena/generalrecv.h \
	      net/eathena/guildhandler.cpp \
	      net/eathena/guildhandler.h \
	      net/eathena/guildrecv.cpp \
	      net/eathena/guildrecv.h \
	      net/eathena/homunculushandler.cpp \
	      net/eathena/homunculushandler.h \
	      net/eathena/homunculusrecv.cpp \
	      net/eathena/homunculusrecv.h \
	      net/eathena/inventoryhandler.cpp \
	      net/eathena/inventoryhandler.h \
	      net/eathena/inventoryrecv.cpp \
	      net/eathena/inventoryrecv.h \
	      net/eathena/itemflags.h \
	      net/eathena/itemhandler.cpp \
	      net/eathena/itemhandler.h \
	      net/eathena/itemrecv.cpp \
	      net/eathena/itemrecv.h \
	      net/eathena/loginhandler.cpp \
	      net/eathena/loginhandler.h \
	      net/eathena/loginrecv.cpp \
	      net/eathena/loginrecv.h \
	      net/eathena/mail2handler.cpp \
	      net/eathena/mail2handler.h \
	      net/eathena/mail2recv.cpp \
	      net/eathena/mail2recv.h \
	      net/eathena/mailhandler.cpp \
	      net/eathena/mailhandler.h \
	      net/eathena/mailrecv.cpp \
	      net/eathena/mailrecv.h \
	      net/eathena/maphandler.cpp \
	      net/eathena/maphandler.h \
	      net/eathena/maprecv.cpp \
	      net/eathena/maprecv.h \
	      net/eathena/maptypeproperty2.h \
	      net/eathena/markethandler.cpp \
	      net/eathena/markethandler.h \
	      net/eathena/marketrecv.cpp \
	      net/eathena/marketrecv.h \
	      net/eathena/menu.cpp \
	      net/eathena/menu.h \
	      enums/net/menutype.h \
	      net/eathena/mercenaryhandler.cpp \
	      net/eathena/mercenaryhandler.h \
	      net/eathena/mercenaryrecv.cpp \
	      net/eathena/mercenaryrecv.h \
	      net/eathena/messagein.cpp \
	      net/eathena/messagein.h \
	      net/eathena/messageout.cpp \
	      net/eathena/messageout.h \
	      net/eathena/network.cpp \
	      net/eathena/network.h \
	      net/eathena/npchandler.cpp \
	      net/eathena/npchandler.h \
	      net/eathena/npcrecv.cpp \
	      net/eathena/npcrecv.h \
	      net/eathena/packetsin.inc \
	      net/eathena/packetsout.inc \
	      net/eathena/partyhandler.cpp \
	      net/eathena/partyhandler.h \
	      net/eathena/partyrecv.cpp \
	      net/eathena/partyrecv.h \
	      net/eathena/pethandler.cpp \
	      net/eathena/pethandler.h \
	      net/eathena/petrecv.cpp \
	      net/eathena/petrecv.h \
	      net/eathena/playerhandler.cpp \
	      net/eathena/playerhandler.h \
	      net/eathena/playerrecv.cpp \
	      net/eathena/playerrecv.h \
	      net/eathena/protocolout.cpp \
	      net/eathena/protocolout.h \
	      net/eathena/questhandler.cpp \
	      net/eathena/questhandler.h \
	      net/eathena/questrecv.cpp \
	      net/eathena/questrecv.h \
	      net/eathena/recvpackets.inc \
	      net/eathena/roulettehandler.cpp \
	      net/eathena/roulettehandler.h \
	      net/eathena/rouletterecv.cpp \
	      net/eathena/rouletterecv.h \
	      net/eathena/searchstorehandler.cpp \
	      net/eathena/searchstorehandler.h \
	      net/eathena/searchstorerecv.cpp \
	      net/eathena/searchstorerecv.h \
	      net/eathena/serverfeatures.cpp \
	      net/eathena/serverfeatures.h \
	      net/eathena/skillhandler.cpp \
	      net/eathena/skillhandler.h \
	      net/eathena/skillrecv.cpp \
	      net/eathena/skillrecv.h \
	      net/eathena/sp.h \
	      net/eathena/sprite.h \
	      net/eathena/tradehandler.cpp \
	      net/eathena/tradehandler.h \
	      net/eathena/traderecv.cpp \
	      net/eathena/traderecv.h \
	      net/eathena/updateprotocol.cpp \
	      net/eathena/updateprotocol.h \
	      net/eathena/vendinghandler.cpp \
	      net/eathena/vendinghandler.h \
	      net/eathena/vendingrecv.cpp \
	      net/eathena/vendingrecv.h

SRC += \
	      mumblemanager.cpp \
	      mumblemanager.h

dyecmd_SOURCES += dyetool/gui/viewport.cpp \
	      dyetool/gui/viewport.h \
	      dyetool/client.cpp \
	      dyetool/client.h \
	      dyetool/actions/actions.cpp \
	      dyetool/actions/chat.cpp \
	      dyetool/actions/commands.cpp \
	      dyetool/actions/move.cpp \
	      dyetool/actions/pets.cpp \
	      dyetool/actions/statusbar.cpp \
	      dyetool/actions/tabs.cpp \
	      dyetool/actions/target.cpp \
	      dyetool/actions/windows.cpp

if ENABLE_MANAPLUSGAME
manaplus_SOURCES += ${SRC}
endif

manaplustests_CXXFLAGS += ${manaplus_CXXFLAGS} \
	      -DUNITTESTS
manaplustests_LDFLAGS = 
if ENABLE_PUGIXML
manaplustests_CXXFLAGS += -DENABLE_PUGIXML
endif
if ENABLE_LIBXML
manaplustests_CXXFLAGS += -DENABLE_LIBXML
endif
if ENABLE_TINYXML2
manaplustests_CXXFLAGS += -DENABLE_TINYXML2
endif
if USE_SDL2
manaplustests_CXXFLAGS += -DUSE_SDL2
endif
if ENABLE_WERROR
manaplustests_CXXFLAGS += -Werror
endif
if ENABLE_ASSERTS
manaplustests_CXXFLAGS += -DENABLE_ASSERTS
if HAVE_RDYNAMIC
manaplustests_LDFLAGS += -rdynamic
endif
endif
if HAVE_EXECINFO
manaplustests_CXXFLAGS += -DHAVE_EXECINFO
endif
if ENABLE_GLIBCDEBUG
manaplustests_CXXFLAGS += -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
endif
if USE_X11
manaplustests_CXXFLAGS += -DUSE_X11
endif
if ENABLE_OPENGLERRORS
manaplustests_CXXFLAGS += -DOPENGLERRORS
endif

manaplustests_SOURCES = \
	      unittests/unittests.h \
	      unittests/enums/render/mockdrawtype.h \
	      unittests/render/mockdrawitem.h \
	      unittests/render/mockgraphics.cc \
	      unittests/render/mockgraphics.h \
	      unittests/enums/enums_unittest.cc \
	      unittests/utils/dumplibs_unittest.cc \
	      unittests/utils/checkutils_unittest.cc

if ENABLE_UNITTESTS_CATCH
manaplustests_SOURCES += \
	      unittests/catch.hpp
endif
if ENABLE_UNITTESTS_DOCTEST
manaplustests_SOURCES += \
	      unittests/doctest.h
endif

if MINGW
manaplustests_SOURCES += manaplus.rc
manaplustests_LDFLAGS += -mconsole
endif

manaplustests_SOURCES += \
	      unittests/fs/virtfs/virtfs1_basic.cc \
	      unittests/fs/virtfs/virtfs1_enumerate.cc \
	      unittests/fs/virtfs/virtfs1_exists.cc \
	      unittests/fs/virtfs/virtfs1_getrealdir.cc \
	      unittests/fs/virtfs/virtfs1_mountdir.cc \
	      unittests/fs/virtfs/virtfs1_mountzip.cc \
	      unittests/fs/virtfs/virtfs1_unmount.cc \
	      unittests/fs/virtfs/virtfs2_unittest.cc \
	      unittests/fs/virtfs/zip_unittest.cc \
	      unittests/fs/virtfs/virtfs_unittest.cc \
	      unittests/utils/xml_unittest.cc \
	      unittests/configuration_unittest.cc \
	      unittests/utils/timer_unittest.cc \
	      unittests/utils/xmlutils_unittest.cc \
	      unittests/utils/mathutils_unittest.cc \
	      unittests/fs/files_unittest.cc \
	      unittests/utils/stringutils_unittest.cc \
	      unittests/utils/parameters_unittest.cc \
	      unittests/resources/mstack_unittest.cc \
	      unittests/utils/translation/poparser_unittest.cc \
	      unittests/utils/langs_unittest.cc \
	      unittests/resources/sprite/animatedsprite_unittest.cc \
	      unittests/gui/fonts/textchunklist_unittest.cc \
	      unittests/gui/widgets/browserbox_unittest.cc \
	      unittests/resources/dye/dye_unittest.cc \
	      unittests/resources/dye/dyepalette_unittest.cc \
	      unittests/integrity_unittest.cc \
	      unittests/utils/chatutils_unittest.cc \
	      unittests/resources/map/speciallayer_unittest.cc \
	      unittests/resources/map/maplayer/draw.cc \
	      unittests/resources/map/maplayer/drawfringenormal.cc \
	      unittests/resources/map/maplayer/drawfringesimple.cc \
	      unittests/resources/map/maplayer/drawspeciallayer1.cc \
	      unittests/resources/map/maplayer/drawspeciallayer2.cc \
	      unittests/resources/map/maplayer/getemptytiledrawwidth.cc \
	      unittests/resources/map/maplayer/gettiledrawwidth.cc \
	      unittests/resources/map/maplayer/updatecache.cc \
	      unittests/resources/map/maplayer/updateconditiontiles.cc \
	      unittests/resources/resourcemanager/resourcemanager_unittest.cc \
	      unittests/resources/sdlimagehelper_unittest.cc \
	      unittests/gui/windowmanager_unittest.cc

manaplustests_SOURCES += ${SRC}

if ENABLE_UNITTESTS
TESTS = manaplustests
check_PROGRAMS = manaplustests
endif

EXTRA_DIST = CMakeLists.txt \
	     winver.h.in \
	     manaplus.rc \
	     SDLMain.m

# set the include path found by configure
AM_CPPFLAGS = $(all_includes)