Index: configure.ac
===================================================================
RCS file: /cvs/unreal/Attic/configure.ac,v
retrieving revision 1.1.2.6
diff -u -B -r1.1.2.6 configure.ac
--- configure.ac	20 Jul 2010 16:09:10 -0000	1.1.2.6
+++ configure.ac	20 Jul 2010 16:26:03 -0000
@@ -635,6 +635,20 @@
 
 CHECK_LIBCURL
 
+# Enable users to opt to have the buildsystem manage their modules.
+AC_ARG_WITH([custom-modules],
+	[AS_HELP_STRING([--with-custom-modules=mymodule,mymodule2], [Compile and install these unrealircd modules in addition to the packaged, official modules. Specified as a comma-separated list.])],
+	[R_MODULES_CUSTOM="$withval"])
+IFS_OLD="$IFS"
+IFS=","
+for A in $R_MODULES_CUSTOM; do
+	# TODO: replace ".so" with something suitable
+	NEW_R_MODULES_CUSTOM="$NEW_R_MODULES_CUSTOM.so $A"
+done
+R_MODULES_CUSTOM="$NEW_R_MODULES_CUSTOM"
+IFS="$IFS_OLD"
+AC_SUBST([R_MODULES_CUSTOM])
+
 AC_OUTPUT(Makefile src/modules/Makefile unreal ircdcron/ircdchk)
 chmod 0700 unreal
 chmod 0700 ircdcron/ircdchk
Index: src/modules/Makefile.in
===================================================================
RCS file: /cvs/unreal/src/modules/Attic/Makefile.in,v
retrieving revision 1.1.2.41.2.22
diff -u -B -r1.1.2.41.2.22 Makefile.in
--- src/modules/Makefile.in	12 Jul 2010 01:25:14 -0000	1.1.2.41.2.22
+++ src/modules/Makefile.in	20 Jul 2010 16:26:03 -0000
@@ -19,6 +19,11 @@
 #*   $Id: Makefile.in,v 1.1.2.41.2.22 2010-07-12 01:25:14 binki Exp $
 #*/
 # major edit from fez - to compile objects individually...
+#
+# minor edit from binki - don't spell out the $(CC) $(CFLAGS) .... for
+# every module
+
+.POSIX:
 
 INCLUDES = ../include/auth.h ../include/badwords.h ../include/channel.h \
 	../include/class.h ../include/common.h ../include/config.h ../include/dbuf.h \
@@ -32,7 +37,7 @@
 	../include/threads.h ../include/types.h ../include/url.h \
 	../include/version.h ../include/whowas.h ../include/zip.h
 
-R_MODULES= \
+R_MODULES = \
 	 m_sethost.so m_chghost.so m_chgident.so m_setname.so \
 	 m_setident.so m_sdesc.so m_svsmode.so m_swhois.so\
 	 m_svsmotd.so m_svsnline.so m_who.so m_mkpasswd.so \
@@ -54,10 +59,11 @@
 	 m_connect.so m_dccallow.so m_userip.so m_nick.so m_user.so \
 	 m_mode.so m_watch.so m_part.so m_join.so m_motd.so m_opermotd.so \
 	 m_botmotd.so m_lusers.so m_names.so m_svsnolag.so m_addmotd.so \
-	 m_svslusers.so m_starttls.so
+	 m_svslusers.so m_starttls.so \
+	@R_MODULES_CUSTOM@
 
-#note change of .c to .o
-COMMANDS=m_sethost.o m_chghost.o m_chgident.o m_setname.o m_setident.o \
+COMMANDS = \
+	m_sethost.o m_chghost.o m_chgident.o m_setname.o m_setident.o \
 	 m_sdesc.o m_svsmode.o m_swhois.o m_svsmotd.o m_svsnline.o \
 	 m_who.o m_mkpasswd.o m_away.o m_svsnoop.o m_svso.o m_svsnick.o \
 	 m_adminchat.o m_akill.o m_chgname.o m_guest.o m_htm.o m_kill.o \
@@ -79,8 +85,8 @@
 	 m_botmotd.o m_lusers.o m_names.o m_svsnolag.o m_starttls.o
 
 
-MODULES=commands.so cloak.so $(R_MODULES)
-MODULEFLAGS=@MODULEFLAGS@
+MODULES = commands.so cloak.so $(R_MODULES)
+MODULEFLAGS = @MODULEFLAGS@
 
 all: build
 
@@ -90,749 +96,247 @@
 	$(CC) $(CFLAGS) $(MODULEFLAGS) $(EXLIBS) -DDYNAMIC_LINKING \
 		-o $(MODULEFILE).so $(MODULEFILE).c		
 
+#############################################################################
+#             commands.so's .o's section
+#############################################################################
+
+.c.o:
+	$(CC) $(CFLAGS) $(MODULEFLAGS) -c $<
+
 commands.so: l_commands.c $(COMMANDS) $(INCLUDES)
 	$(CC) $(CFLAGS) $(MODULEFLAGS) -o commands.so l_commands.c \
 	$(COMMANDS)
 
 #############################################################################
-#             commands.so's .o's section
+#             .so's section
 #############################################################################
 
-m_adminchat.o: m_adminchat.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_adminchat.c
 
-m_akill.o: m_akill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_akill.c
+.c.so:
+	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
+		-o $@ $<
 
+m_adminchat.o: m_adminchat.c $(INCLUDES)
+m_akill.o: m_akill.c $(INCLUDES)
 m_chgname.o: m_chgname.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_chgname.c
-
 m_guest.o: m_guest.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_guest.c
-
 m_htm.o: m_htm.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_htm.c
-
 m_kill.o: m_kill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_kill.c
-
 m_lag.o: m_lag.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_lag.c
-
 m_message.o: m_message.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_message.c
-
 webtv.o: webtv.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c webtv.c
-
 m_nachat.o: m_nachat.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_nachat.c
-
 m_oper.o: m_oper.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_oper.c
-
 m_pingpong.o: m_pingpong.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_pingpong.c
-
 m_quit.o: m_quit.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_quit.c
-
 m_rakill.o: m_rakill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_rakill.c
-
 m_rping.o: m_rping.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_rping.c
-
 m_sendumode.o: m_sendumode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sendumode.c
-
 m_sqline.o: m_sqline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sqline.c
-
 m_tsctl.o: m_tsctl.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_tsctl.c
-
 m_unkline.o: m_unkline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_unkline.c
-
 m_unsqline.o: m_unsqline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_unsqline.c
-
 m_unzline.o: m_unzline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_unzline.c
-
 m_whois.o: m_whois.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_whois.c
-
 m_sethost.o: m_sethost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sethost.c
-
 m_chghost.o: m_chghost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_chghost.c
-
 m_chgident.o: m_chgident.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_chgident.c
-
 m_setident.o: m_setident.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_setident.c
-
 m_setname.o: m_setname.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_setname.c
-
 m_sdesc.o: m_sdesc.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sdesc.c
-
 m_svsmode.o: m_svsmode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsmode.c
-
 m_swhois.o: m_swhois.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_swhois.c
-
 m_svsmotd.o: m_svsmotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsmotd.c
-
 m_svsnline.o: m_svsnline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsnline.c
-
 m_who.o: m_who.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_who.c
-
 m_mkpasswd.o: m_mkpasswd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_mkpasswd.c
-
 m_away.o: m_away.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_away.c
-
 m_svsnoop.o: m_svsnoop.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsnoop.c
-
 m_svso.o: m_svso.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svso.c
-
 m_svsnick.o: m_svsnick.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsnick.c
-
 m_tkl.o: m_tkl.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_tkl.c
-
 m_vhost.o: m_vhost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_vhost.c
-
 m_cycle.o: m_cycle.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_cycle.c
-
 m_svsjoin.o: m_svsjoin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsjoin.c
-
 m_svspart.o: m_svspart.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svspart.c
-
 m_svslusers.o: m_svslusers.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svslusers.c
-
 m_svswatch.o: m_svswatch.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svswatch.c
-
 m_svssilence.o: m_svssilence.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svssilence.c
-
 m_sendsno.o: m_sendsno.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sendsno.c
-
 m_svssno.o: m_svssno.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svssno.c
-
 m_sajoin.o: m_sajoin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sajoin.c
-
 m_sapart.o: m_sapart.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sapart.c
-
 m_samode.o: m_samode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_samode.c
-
 m_kick.o: m_kick.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_kick.c
-
 m_topic.o: m_topic.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_topic.c
-
 m_invite.o: m_invite.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_invite.c
-
 m_list.o: m_list.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_list.c
-
 m_time.o: m_time.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_time.c
-
 m_svskill.o: m_svskill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svskill.c
-
 m_sjoin.o: m_sjoin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_sjoin.c
-
 m_pass.o: m_pass.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_pass.c
-
 m_userhost.o: m_userhost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_userhost.c
-
 m_ison.o: m_ison.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_ison.c
-
 m_silence.o: m_silence.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_silence.c
-
 m_knock.o: m_knock.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_knock.c
-
 m_umode2.o: m_umode2.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_umode2.c
-
 m_squit.o: m_squit.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_squit.c
-
 m_protoctl.o: m_protoctl.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_protoctl.c
-
 m_addline.o: m_addline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_addline.c
-
 m_addmotd.o: m_addmotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_addmotd.c
-
 m_addomotd.o: m_addomotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_addomotd.c
-
 m_wallops.o: m_wallops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_wallops.c
-
 m_admin.o: m_admin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_admin.c
-
 m_globops.o: m_globops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_globops.c
-
 m_locops.o: m_locops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_locops.c
-
 m_chatops.o: m_chatops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_chatops.c
-
 m_trace.o: m_trace.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_trace.c
-
 m_netinfo.o: m_netinfo.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_netinfo.c
-
 m_links.o: m_links.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_links.c
-
 m_help.o: m_help.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_help.c
-
 m_rules.o: m_rules.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_rules.c
-
 m_close.o: m_close.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_close.c
-
 m_map.o: m_map.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_map.c
-
 m_eos.o: m_eos.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_eos.c
-
 m_server.o: m_server.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_server.c
-
 m_stats.o: m_stats.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_stats.c
-
 m_svsfline.o: m_svsfline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsfline.c
-
 m_dccdeny.o: m_dccdeny.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_dccdeny.c
-
 m_undccdeny.o: m_undccdeny.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_undccdeny.c
-
 m_whowas.o: m_whowas.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_whowas.c
-
 m_connect.o: m_connect.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_connect.c
-
 m_dccallow.o: m_dccallow.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_dccallow.c
-
 m_userip.o: m_userip.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_userip.c
-
 m_nick.o: m_nick.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_nick.c
-
 m_user.o: m_user.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_user.c
-
 m_mode.o: m_mode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_mode.c
-
 m_watch.o: m_watch.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_watch.c
-
 m_part.o: m_part.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_part.c
-
 m_join.o: m_join.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_join.c
-
 m_motd.o: m_motd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_motd.c
-
 m_opermotd.o: m_opermotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_opermotd.c
-
 m_botmotd.o: m_botmotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_botmotd.c
-
 m_lusers.o: m_lusers.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_lusers.c
-
 m_names.o: m_names.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_names.c
-
 m_svsnolag.o: m_svsnolag.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_svsnolag.c
-
 m_starttls.o: m_starttls.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS)  -c m_starttls.c
 
 #############################################################################
 #             .so's section
 #############################################################################
 
 m_adminchat.so: m_adminchat.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_adminchat.so m_adminchat.c
-
 m_akill.so: m_akill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_akill.so m_akill.c
-
 m_chgname.so: m_chgname.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_chgname.so m_chgname.c
-
 m_guest.so: m_guest.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_guest.so m_guest.c
-
 m_htm.so: m_htm.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_htm.so m_htm.c
-
 m_kill.so: m_kill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_kill.so m_kill.c
-
 m_lag.so: m_lag.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_lag.so m_lag.c
-
 m_message.so: m_message.c webtv.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_message.so m_message.c webtv.c
-
 m_nachat.so: m_nachat.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_nachat.so m_nachat.c
-
 m_oper.so: m_oper.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_oper.so m_oper.c
-
 m_pingpong.so: m_pingpong.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_pingpong.so m_pingpong.c
-
 m_quit.so: m_quit.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_quit.so m_quit.c
-
 m_rakill.so: m_rakill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_rakill.so m_rakill.c
-
 m_rping.so: m_rping.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_rping.so m_rping.c
-
 m_sendumode.so: m_sendumode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sendumode.so m_sendumode.c
-
 m_sqline.so: m_sqline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sqline.so m_sqline.c
-
 m_tsctl.so: m_tsctl.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_tsctl.so m_tsctl.c
-
 m_unkline.so: m_unkline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_unkline.so m_unkline.c
-
 m_unsqline.so: m_unsqline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_unsqline.so m_unsqline.c
-
 m_unzline.so: m_unzline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_unzline.so m_unzline.c
-
 m_whois.so: m_whois.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_whois.so m_whois.c
-
 m_sethost.so: m_sethost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sethost.so m_sethost.c
-
 m_chghost.so: m_chghost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_chghost.so m_chghost.c
-
 m_chgident.so: m_chgident.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_chgident.so m_chgident.c
-
 m_setident.so: m_setident.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_setident.so m_setident.c
-
 m_setname.so: m_setname.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_setname.so m_setname.c
-
 m_sdesc.so: m_sdesc.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_sdesc.so m_sdesc.c
-
 m_svsmode.so: m_svsmode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_svsmode.so m_svsmode.c
-
 m_swhois.so: m_swhois.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_swhois.so m_swhois.c
-
 m_svsmotd.so: m_svsmotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_svsmotd.so m_svsmotd.c
-
 m_svsnline.so: m_svsnline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_svsnline.so m_svsnline.c
-
 m_who.so: m_who.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		 -o m_who.so m_who.c
-
 m_mkpasswd.so: m_mkpasswd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_mkpasswd.so m_mkpasswd.c
-
 m_away.so: m_away.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_away.so m_away.c
-
 m_svsnoop.so: m_svsnoop.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svsnoop.so m_svsnoop.c
-
 m_svso.so: m_svso.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svso.so m_svso.c
-
 m_svsnick.so: m_svsnick.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svsnick.so m_svsnick.c
-
 m_tkl.so: m_tkl.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_tkl.so m_tkl.c
-
 m_vhost.so: m_vhost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_vhost.so m_vhost.c
-
 m_cycle.so: m_cycle.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_cycle.so m_cycle.c
-
 m_svsjoin.so: m_svsjoin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svsjoin.so m_svsjoin.c
-
 m_svspart.so: m_svspart.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svspart.so m_svspart.c
-
 m_svslusers.so: m_svslusers.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svslusers.so m_svslusers.c
-
 m_svswatch.so: m_svswatch.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svswatch.so m_svswatch.c
-
 m_svssilence.so: m_svssilence.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svssilence.so m_svssilence.c
-
 m_sendsno.so: m_sendsno.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sendsno.so m_sendsno.c
-
 m_svssno.so: m_svssno.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svssno.so m_svssno.c
-
 m_sajoin.so: m_sajoin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sajoin.so m_sajoin.c
-
 m_sapart.so: m_sapart.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sapart.so m_sapart.c
-
 m_samode.so: m_samode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_samode.so m_samode.c
-
 m_kick.so: m_kick.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_kick.so m_kick.c
-
 m_topic.so: m_topic.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_topic.so m_topic.c
-
 m_invite.so: m_invite.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_invite.so m_invite.c
-
 m_list.so: m_list.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_list.so m_list.c
-
 m_time.so: m_time.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_time.so m_time.c
-
 m_svskill.so: m_svskill.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svskill.so m_svskill.c
-
 m_sjoin.so: m_sjoin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_sjoin.so m_sjoin.c
-
 m_pass.so: m_pass.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_pass.so m_pass.c
-
 m_userhost.so: m_userhost.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_userhost.so m_userhost.c
-
 m_ison.so: m_ison.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_ison.so m_ison.c
-
 m_silence.so: m_silence.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_silence.so m_silence.c
-
 m_knock.so: m_knock.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_knock.so m_knock.c
-
 m_umode2.so: m_umode2.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_umode2.so m_umode2.c
-
 m_squit.so: m_squit.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_squit.so m_squit.c
-
 m_protoctl.so: m_protoctl.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_protoctl.so m_protoctl.c
-
 m_addline.so: m_addline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_addline.so m_addline.c
-
 m_addmotd.so: m_addmotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_addmotd.so m_addmotd.c
-
 m_addomotd.so: m_addomotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_addomotd.so m_addomotd.c
-
 m_wallops.so: m_wallops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_wallops.so m_wallops.c
-
 m_admin.so: m_admin.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_admin.so m_admin.c
-
 m_globops.so: m_globops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_globops.so m_globops.c
-
 m_locops.so: m_locops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_locops.so m_locops.c
-
 m_chatops.so: m_chatops.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_chatops.so m_chatops.c
-
 m_trace.so: m_trace.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_trace.so m_trace.c
-
 m_netinfo.so: m_netinfo.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_netinfo.so m_netinfo.c
-
 m_links.so: m_links.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_links.so m_links.c
-
 m_help.so: m_help.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_help.so m_help.c
-
 m_rules.so: m_rules.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_rules.so m_rules.c
-
 m_close.so: m_close.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_close.so m_close.c
-
 m_map.so: m_map.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_map.so m_map.c
-
 m_eos.so: m_eos.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_eos.so m_eos.c
-
 m_server.so: m_server.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_server.so m_server.c
-
 m_stats.so: m_stats.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_stats.so m_stats.c
-
 m_svsfline.so: m_svsfline.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svsfline.so m_svsfline.c
-
 m_dccdeny.so: m_dccdeny.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_dccdeny.so m_dccdeny.c
-
 m_undccdeny.so: m_undccdeny.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_undccdeny.so m_undccdeny.c
-
 m_whowas.so: m_whowas.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_whowas.so m_whowas.c
-
 m_connect.so: m_connect.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_connect.so m_connect.c
-
 m_dccallow.so: m_dccallow.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_dccallow.so m_dccallow.c
-
 m_userip.so: m_userip.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_userip.so m_userip.c
-
 m_nick.so: m_nick.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_nick.so m_nick.c
-
 m_user.so: m_user.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_user.so m_user.c
-
 m_mode.so: m_mode.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_mode.so m_mode.c
-
 m_watch.so: m_watch.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_watch.so m_watch.c
-
 m_part.so: m_part.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_part.so m_part.c
-
 m_join.so: m_join.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_join.so m_join.c
-
 m_motd.so: m_motd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_motd.so m_motd.c
-
 m_opermotd.so: m_opermotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_opermotd.so m_opermotd.c
-
 m_botmotd.so: m_botmotd.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_botmotd.so m_botmotd.c
-
 m_lusers.so: m_lusers.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_lusers.so m_lusers.c
-
 m_names.so: m_names.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-	       -o m_names.so m_names.c
-
 m_svsnolag.so: m_svsnolag.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_svsnolag.so m_svsnolag.c
-
 m_starttls.so: m_starttls.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o m_starttls.so m_starttls.c
 
 #############################################################################
 #             and now the remaining modules...
 #############################################################################
 
 cloak.so: cloak.c $(INCLUDES)
-	$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-		-o cloak.so cloak.c
 
 clean:
 	$(RM) -f *.o *.so *~ core
+
+.SUFFIXES: .c .o .so
+.PHONY: all build clean custommodule
