Merge branch 'development'
[NeonServV5.git] / Makefile.am
index 88f7c773a6c4f2314a447185feada43c8b0c2331..679e1f6c98ed946673732e55de66d3453cf3234a 100644 (file)
@@ -4,21 +4,203 @@ AM_CFLAGS = $(MYSQL_CFLAGS)
 BUILT_SOURCES = version.c
 version.c: checkversion
 checkversion:
-       cd src && chmod +x version.sh && ./version.sh && cd ..
+       cd src && ./version.sh && cd ..
 
 noinst_PROGRAMS = neonserv
+noinst_LTLIBRARIES = libDummyServ.la libfuncmds.la libglobalcmd.la libNeonHelp.la libNeonBackup.la libNeonServ.la libNeonSpam.la libstats.la libNeonFun.la libNeonKick.la
+
+libDummyServ_la_SOURCES = src/modules/DummyServ.mod/bot_DummyServ.c \
+      src/modules/DummyServ.mod/module.c
+libDummyServ_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libDummyServ_la_LIBADD = $(MYSQL_LIBS)
+
+libfuncmds_la_SOURCES = src/modules/funcmd.mod/cmd_funcmds.c \
+      src/modules/funcmd.mod/module.c
+libfuncmds_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libfuncmds_la_LIBADD = $(MYSQL_LIBS)
+
+libglobalcmd_la_SOURCES = src/modules/global.mod/cmd_global.c \
+      src/modules/global.mod/cmd_global_bind.c \
+      src/modules/global.mod/cmd_global_command.c \
+      src/modules/global.mod/cmd_global_commands.c \
+      src/modules/global.mod/cmd_global_emote.c \
+      src/modules/global.mod/cmd_global_god.c \
+      src/modules/global.mod/cmd_global_netinfo.c \
+      src/modules/global.mod/cmd_global_notice.c \
+      src/modules/global.mod/cmd_global_raw.c \
+      src/modules/global.mod/cmd_global_register.c \
+      src/modules/global.mod/cmd_global_reloadlang.c \
+      src/modules/global.mod/cmd_global_say.c \
+      src/modules/global.mod/cmd_global_setaccess.c \
+      src/modules/global.mod/cmd_global_unbind.c \
+      src/modules/global.mod/cmd_global_unregister.c \
+      src/modules/global.mod/cmd_global_version.c \
+      src/modules/global.mod/cmd_global_staff.c \
+      src/modules/global.mod/cmd_global_motd.c \
+      src/modules/global.mod/cmd_global_bots.c \
+      src/modules/global.mod/cmd_global_reload.c \
+      src/modules/global.mod/cmd_global_restart.c \
+      src/modules/global.mod/cmd_global_die.c \
+      src/modules/global.mod/cmd_global_setbot.c \
+      src/modules/global.mod/cmd_global_addbot.c \
+      src/modules/global.mod/cmd_global_delbot.c \
+      src/modules/global.mod/cmd_global_reconnect.c \
+      src/modules/global.mod/cmd_global_modcmd.c \
+      src/modules/global.mod/cmd_global_meminfo.c \
+      src/modules/global.mod/cmd_global_extscript.c \
+      src/modules/global.mod/cmd_global_move.c \
+      src/modules/global.mod/cmd_global_global.c \
+      src/modules/global.mod/module.c
+libglobalcmd_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libglobalcmd_la_LIBADD = $(MYSQL_LIBS)
+
+libNeonHelp_la_SOURCES = src/modules/NeonHelp.mod/bot_NeonHelp.c \
+      src/modules/NeonHelp.mod/cmd_neonhelp.c \
+      src/modules/NeonHelp.mod/cmd_neonhelp_next.c \
+      src/modules/NeonHelp.mod/cmd_neonhelp_delete.c \
+      src/modules/NeonHelp.mod/cmd_neonhelp_requests.c \
+      src/modules/NeonHelp.mod/cmd_neonhelp_stats.c \
+      src/modules/NeonHelp.mod/cmd_neonhelp_history.c \
+      src/modules/NeonHelp.mod/module.c
+libNeonHelp_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libNeonHelp_la_LIBADD = $(MYSQL_LIBS)
+
+libNeonBackup_la_SOURCES = src/modules/NeonBackup.mod/bot_NeonBackup.c \
+      src/modules/NeonBackup.mod/cmd_neonbackup.c \
+      src/modules/NeonBackup.mod/cmd_neonbackup_recover.c \
+      src/modules/NeonBackup.mod/module.c
+libNeonBackup_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libNeonBackup_la_LIBADD = $(MYSQL_LIBS)
+
+libNeonServ_la_SOURCES = src/modules/NeonServ.mod/bot_NeonServ.c \
+      src/modules/NeonServ.mod/cmd_neonserv.c \
+      src/modules/NeonServ.mod/cmd_neonserv_access.c \
+      src/modules/NeonServ.mod/cmd_neonserv_addban.c \
+      src/modules/NeonServ.mod/cmd_neonserv_addtimeban.c \
+      src/modules/NeonServ.mod/cmd_neonserv_adduser.c \
+      src/modules/NeonServ.mod/cmd_neonserv_ban.c \
+      src/modules/NeonServ.mod/cmd_neonserv_bans.c \
+      src/modules/NeonServ.mod/cmd_neonserv_chanservsync.c \
+      src/modules/NeonServ.mod/cmd_neonserv_clvl.c \
+      src/modules/NeonServ.mod/cmd_neonserv_csuspend.c \
+      src/modules/NeonServ.mod/cmd_neonserv_cunsuspend.c \
+      src/modules/NeonServ.mod/cmd_neonserv_delban.c \
+      src/modules/NeonServ.mod/cmd_neonserv_delme.c \
+      src/modules/NeonServ.mod/cmd_neonserv_deluser.c \
+      src/modules/NeonServ.mod/cmd_neonserv_deop.c \
+      src/modules/NeonServ.mod/cmd_neonserv_deopall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_devoice.c \
+      src/modules/NeonServ.mod/cmd_neonserv_devoiceall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_down.c \
+      src/modules/NeonServ.mod/cmd_neonserv_downall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_events.c \
+      src/modules/NeonServ.mod/cmd_neonserv_giveowner.c \
+      src/modules/NeonServ.mod/cmd_neonserv_help.c \
+      src/modules/NeonServ.mod/cmd_neonserv_invite.c \
+      src/modules/NeonServ.mod/cmd_neonserv_inviteme.c \
+      src/modules/NeonServ.mod/cmd_neonserv_invitemeall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_kick.c \
+      src/modules/NeonServ.mod/cmd_neonserv_kickban.c \
+      src/modules/NeonServ.mod/cmd_neonserv_mdeluser.c \
+      src/modules/NeonServ.mod/cmd_neonserv_mode.c \
+      src/modules/NeonServ.mod/cmd_neonserv_myaccess.c \
+      src/modules/NeonServ.mod/cmd_neonserv_op.c \
+      src/modules/NeonServ.mod/cmd_neonserv_opall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_oplog.c \
+      src/modules/NeonServ.mod/cmd_neonserv_peek.c \
+      src/modules/NeonServ.mod/cmd_neonserv_recover.c \
+      src/modules/NeonServ.mod/cmd_neonserv_resync.c \
+      src/modules/NeonServ.mod/cmd_neonserv_search.c \
+      src/modules/NeonServ.mod/cmd_neonserv_set.c \
+      src/modules/NeonServ.mod/cmd_neonserv_suspend.c \
+      src/modules/NeonServ.mod/cmd_neonserv_topic.c \
+      src/modules/NeonServ.mod/cmd_neonserv_trace.c \
+      src/modules/NeonServ.mod/cmd_neonserv_trim.c \
+      src/modules/NeonServ.mod/cmd_neonserv_unban.c \
+      src/modules/NeonServ.mod/cmd_neonserv_unbanall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_unbanme.c \
+      src/modules/NeonServ.mod/cmd_neonserv_unsuspend.c \
+      src/modules/NeonServ.mod/cmd_neonserv_up.c \
+      src/modules/NeonServ.mod/cmd_neonserv_upall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_users.c \
+      src/modules/NeonServ.mod/cmd_neonserv_uset.c \
+      src/modules/NeonServ.mod/cmd_neonserv_voice.c \
+      src/modules/NeonServ.mod/cmd_neonserv_voiceall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_wipeinfo.c \
+      src/modules/NeonServ.mod/cmd_neonserv_addrank.c \
+      src/modules/NeonServ.mod/cmd_neonserv_assignrank.c \
+      src/modules/NeonServ.mod/cmd_neonserv_delrank.c \
+      src/modules/NeonServ.mod/cmd_neonserv_listrank.c \
+      src/modules/NeonServ.mod/cmd_neonserv_setrank.c \
+      src/modules/NeonServ.mod/cmd_neonserv_info.c \
+      src/modules/NeonServ.mod/cmd_neonserv_rename.c \
+      src/modules/NeonServ.mod/cmd_neonserv_unvisited.c \
+      src/modules/NeonServ.mod/cmd_neonserv_noregister.c \
+      src/modules/NeonServ.mod/cmd_neonserv_nicklist.c \
+      src/modules/NeonServ.mod/cmd_neonserv_halfop.c \
+      src/modules/NeonServ.mod/cmd_neonserv_dehalfop.c \
+      src/modules/NeonServ.mod/cmd_neonserv_halfopall.c \
+      src/modules/NeonServ.mod/cmd_neonserv_dehalfopall.c \
+      src/modules/NeonServ.mod/module.c
+libNeonServ_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libNeonServ_la_LIBADD = $(MYSQL_LIBS)
+
+libNeonSpam_la_SOURCES = src/modules/NeonSpam.mod/bot_NeonSpam.c \
+      src/modules/NeonSpam.mod/cmd_neonspam.c \
+      src/modules/NeonSpam.mod/cmd_neonspam_set.c \
+      src/modules/NeonSpam.mod/cmd_neonspam_addbad.c \
+      src/modules/NeonSpam.mod/cmd_neonspam_delbad.c \
+      src/modules/NeonSpam.mod/cmd_neonspam_badwords.c \
+      src/modules/NeonSpam.mod/module.c
+libNeonSpam_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libNeonSpam_la_LIBADD = $(MYSQL_LIBS)
+
+libstats_la_SOURCES = src/modules/stats.mod/module.c
+libstats_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libstats_la_LIBADD = $(MYSQL_LIBS)
+
+libNeonFun_la_SOURCES = src/modules/NeonFun.mod/bot_NeonFun.c \
+      src/modules/NeonFun.mod/cmd_neonfun.c \
+      src/modules/NeonFun.mod/cmd_neonfun_uno.c \
+      src/modules/NeonFun.mod/cmd_neonfun_unoplay.c \
+      src/modules/NeonFun.mod/cmd_neonfun_unotake.c \
+      src/modules/NeonFun.mod/game_uno.c \
+      src/modules/NeonFun.mod/cmd_neonfun_4wins.c \
+      src/modules/NeonFun.mod/cmd_neonfun_4stone.c \
+      src/modules/NeonFun.mod/cmd_neonfun_4view.c \
+      src/modules/NeonFun.mod/game_4wins.c \
+      src/modules/NeonFun.mod/cmd_neonfun_blackjack.c \
+      src/modules/NeonFun.mod/cmd_neonfun_bjtake.c \
+      src/modules/NeonFun.mod/cmd_neonfun_bjenough.c \
+      src/modules/NeonFun.mod/game_blackjack.c \
+      src/modules/NeonFun.mod/module.c
+libNeonFun_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libNeonFun_la_LIBADD = $(MYSQL_LIBS)
+
+libNeonKick_la_SOURCES = src/modules/NeonKick.mod/bot_NeonKick.c \
+      src/modules/NeonKick.mod/module.c
+libNeonKick_la_LDFLAGS = -module -rpath /nowhere -avoid-version -no-undefined
+libNeonKick_la_LIBADD = $(MYSQL_LIBS)
+
 neonserv_SOURCES = src/version.c \
+      src/IOEngine_epoll.c \
+      src/IOEngine_kevent.c \
+      src/IOEngine_select.c \
+      src/IOEngine_win32.c \
+      src/IOHandler.c \
+      src/IOHandler_SSL.c \
       src/EventLogger.c \
       src/IRCEvents.c \
       src/main.c \
+      src/signal.c \
       src/ChanNode.c \
       src/IRCParser.c \
       src/ClientSocket.c \
-      src/ssl.c \
       src/UserNode.c \
       src/ChanUser.c \
       src/ModeNode.c \
       src/BanNode.c \
+      src/IPNode.c \
       src/WHOHandler.c \
       src/modcmd.c \
       src/mysqlConn.c \
@@ -28,115 +210,32 @@ neonserv_SOURCES = src/version.c \
       src/timeq.c \
       src/DBHelper.c \
       src/IRCQueue.c \
-      src/commands.c \
       src/bots.c \
-      src/bot_NeonServ.c \
-      src/bot_NeonSpam.c \
-      src/bot_DummyServ.c \
-      src/bot_NeonHelp.c \
-      src/cmd_neonserv_access.c \
-      src/cmd_neonserv_addban.c \
-      src/cmd_neonserv_addtimeban.c \
-      src/cmd_neonserv_adduser.c \
-      src/cmd_neonserv_ban.c \
-      src/cmd_neonserv_bans.c \
-      src/cmd_global_bind.c \
-      src/cmd_neonserv_chanservsync.c \
-      src/cmd_neonserv_clvl.c \
-      src/cmd_global_command.c \
-      src/cmd_global_commands.c \
-      src/cmd_neonserv_csuspend.c \
-      src/cmd_neonserv_cunsuspend.c \
-      src/cmd_neonserv_delban.c \
-      src/cmd_neonserv_delme.c \
-      src/cmd_neonserv_deluser.c \
-      src/cmd_neonserv_deop.c \
-      src/cmd_neonserv_deopall.c \
-      src/cmd_neonserv_devoice.c \
-      src/cmd_neonserv_devoiceall.c \
-      src/cmd_neonserv_down.c \
-      src/cmd_neonserv_downall.c \
-      src/cmd_global_emote.c \
-      src/cmd_neonserv_events.c \
-      src/cmd_neonserv_giveowner.c \
-      src/cmd_global_god.c \
-      src/cmd_neonserv_help.c \
-      src/cmd_neonserv_invite.c \
-      src/cmd_neonserv_inviteme.c \
-      src/cmd_neonserv_kick.c \
-      src/cmd_neonserv_kickban.c \
-      src/cmd_neonserv_mdeluser.c \
-      src/cmd_neonserv_mode.c \
-      src/cmd_neonserv_move.c \
-      src/cmd_neonserv_myaccess.c \
-      src/cmd_global_netinfo.c \
-      src/cmd_global_notice.c \
-      src/cmd_neonserv_op.c \
-      src/cmd_neonserv_opall.c \
-      src/cmd_neonserv_oplog.c \
-      src/cmd_neonserv_peek.c \
-      src/cmd_global_raw.c \
-      src/cmd_neonserv_recover.c \
-      src/cmd_global_register.c \
-      src/cmd_global_reloadlang.c \
-      src/cmd_neonserv_resync.c \
-      src/cmd_global_say.c \
-      src/cmd_neonserv_search.c \
-      src/cmd_neonserv_set.c \
-      src/cmd_global_setaccess.c \
-      src/cmd_neonserv_suspend.c \
-      src/cmd_neonserv_topic.c \
-      src/cmd_neonserv_trace.c \
-      src/cmd_neonserv_trim.c \
-      src/cmd_neonserv_unban.c \
-      src/cmd_neonserv_unbanall.c \
-      src/cmd_neonserv_unbanme.c \
-      src/cmd_global_unbind.c \
-      src/cmd_global_unregister.c \
-      src/cmd_neonserv_unsuspend.c \
-      src/cmd_neonserv_up.c \
-      src/cmd_neonserv_upall.c \
-      src/cmd_neonserv_users.c \
-      src/cmd_neonserv_uset.c \
-      src/cmd_global_version.c \
-      src/cmd_neonserv_voice.c \
-      src/cmd_neonserv_voiceall.c \
-      src/cmd_neonserv_wipeinfo.c \
-      src/cmd_neonserv_addrank.c \
-      src/cmd_neonserv_assignrank.c \
-      src/cmd_neonserv_delrank.c \
-      src/cmd_neonserv_listrank.c \
-      src/cmd_neonserv_setrank.c \
-      src/cmd_neonserv_info.c \
-      src/cmd_neonserv_rename.c \
-      src/cmd_neonserv_unvisited.c \
-      src/cmd_neonserv_extscript.c \
-      src/cmd_neonspam_set.c \
-      src/cmd_neonserv_noregister.c \
-      src/cmd_global_staff.c \
-      src/cmd_global_motd.c \
-      src/cmd_global_bots.c \
-      src/cmd_global_reload.c \
-      src/cmd_global_restart.c \
-      src/cmd_global_die.c \
-      src/cmd_neonserv_nicklist.c \
-      src/cmd_global_setbot.c \
-      src/cmd_global_addbot.c \
-      src/cmd_global_delbot.c \
-      src/cmd_global_reconnect.c \
-      src/cmd_funcmds.c \
-      src/ConfigParser.c
+      src/ConfigParser.c \
+      src/QServer.c \
+      src/modules.c \
+      src/module_commands.c \
+      src/ModuleFunctions.c \
+      src/statistics.c \
+      src/log.c \
+      src/memoryDebug.c \
+      src/mutexDebug.c
 
-neonserv_LDADD = $(MYSQL_LIBS) $(WINSOCK_LIBS)
+neonserv_LDADD = $(MYSQL_LIBS) $(SYSTEM_LIBS)
 
 install-exec-local:
        $(INSTALL) -d -m 755 $(prefix)
+       $(INSTALL) -m 644 $(srcdir)/AUTHORS $(prefix)
+       $(INSTALL) -m 644 $(srcdir)/COPYING $(prefix)
+       $(INSTALL) -m 644 $(srcdir)/INSTALL $(prefix)
+       $(INSTALL) -m 644 $(srcdir)/VERSION $(prefix)
        $(INSTALL) -m 744 ./neonserv $(prefix)
        $(INSTALL) -m 644 $(srcdir)/database.sql $(prefix)
        $(INSTALL) -m 644 $(srcdir)/database.upgrade.sql $(prefix)
        $(INSTALL) -m 644 $(srcdir)/database.defaults.sql $(prefix)
        $(INSTALL) -m 600 $(srcdir)/neonserv.example.conf $(prefix)
        $(INSTALL) -m 744 $(srcdir)/language.php $(prefix)
+       $(INSTALL) -m 644 $(srcdir)/.libs/*.so $(prefix)
        @echo
        @echo NeonServ-$(VERSION) has been installed to $(prefix)
        @echo Edit the neonserv.example.conf and save it as neonserv.conf before you start!