Moved all threading code into threads.c
[citadel.git] / citadel / Makefile.in
index f77df0f7226eaa946c36a559a04fec4838ae527b..b4554c8bdd5bda467a5d6838c29bc58ce93d8e86 100644 (file)
@@ -20,6 +20,7 @@ DATA_DIR=@MAKE_DATA_DIR@
 STATICDATA_DIR=@MAKE_STATICDATA_DIR@
 DOC_DIR=@MAKE_DOC_DIR@
 UTILBIN_DIR=@MAKE_UTILBIN_DIR@
+DEPEND_FLAG=@DEPEND_FLAG@
 all: $(TARGETS)
 
 .SUFFIXES: .o .d .c
@@ -27,49 +28,17 @@ all: $(TARGETS)
 EXEEXT=@EXEEXT@
 
 CLIENT_TARGETS=citadel$(EXEEXT) whobbs$(EXEEXT) stress$(EXEEXT)
-SERVER_TARGETS=citserver chkpwd
-SERV_MODULES=serv_chat.o \
-       serv_upgrade.o \
-       serv_smtp.o \
-       serv_spam.o \
-       serv_pop3.o \
-       serv_vcard.o vcard.o \
-       serv_mrtg.o \
-       serv_imap.o \
-       imap_fetch.o \
-       imap_misc.o \
-       imap_search.o \
-       imap_store.o \
-       imap_acl.o \
-       imap_metadata.o \
-       imap_tools.o \
-       imap_list.o \
-       serv_fulltext.o \
-       ft_wordbreaker.o \
-       crc16.o \
-       serv_network.o \
-       serv_listsub.o \
-       serv_netfilter.o \
-       serv_newuser.o \
-       serv_notes.o \
-       serv_pas2.o md5.o \
-       serv_inetcfg.o \
-       serv_rwho.o \
-       serv_bio.o \
-       serv_expire.o \
-       serv_vandelay.o \
-       serv_calendar.o \
-       serv_sieve.o \
-       serv_managesieve.o \
-       ical_dezonify.o \
-       serv_ldap.o \
-       serv_autocompletion.o \
-       serv_funambol.o
+SERVER_TARGETS=citserver
+SERV_MODULES=crc16.o \
+       md5.o \
+       ical_dezonify.o
+
+include Make_modules
 
 UTIL_TARGETS=aidepost msgform \
-       citmail userlist sendcommand \
+       citmail userlist sendcommand getmail\
 
-UTILBIN_TARGETS= base64 setup
+UTILBIN_TARGETS= base64 setup chkpw chkpwd
 
 prefix=@prefix@
 srcdir=@srcdir@
@@ -99,27 +68,25 @@ YACC=@YACC@
 
 VPATH=$(srcdir)
 
-SOURCES=aidepost.c auth.c base64.c chkpwd.c citadel.c citadel_ipc.c \
+SOURCES=aidepost.c auth.c base64.c chkpwd.c chkpw.c citadel.c citadel_ipc.c \
        citmail.c citserver.c client_chat.c client_passwords.c \
        clientsocket.c commands.c config.c control.c $(DATABASE) \
        domain.c serv_extensions.c file_ops.c genstamp.c getutline.c \
-       housekeeping.c html.c ical_dezonify.c imap_fetch.c imap_misc.c \
-       imap_search.c imap_store.c imap_tools.c internet_addressing.c \
-       ipc_c_tcp.c locate_host.c md5.c messages.c  serv_autocompletion.c \
-       mime_parser.c msgbase.c msgform.c parsedate.c policy.c \
-       room_ops.c rooms.c routines.c routines2.c euidindex.c \
-       screen.c sendcommand.c serv_bio.c serv_calendar.c serv_chat.c \
-       serv_crypto.c serv_expire.c serv_imap.c serv_inetcfg.c \
-       serv_listsub.c serv_mrtg.c serv_netfilter.c serv_network.c \
-       serv_newuser.c serv_pas2.c serv_pop3.c serv_rwho.c serv_smtp.c \
-       serv_spam.c serv_test.c serv_mrtg.c serv_spam.c serv_upgrade.c \
-       serv_vandelay.c serv_vcard.c serv_managesieve.c server_main.c \
-       serv_sieve.c serv_funambol.c setup.c snprintf.c imap_acl.c \
-       stress.c support.c sysdep.c tools.c user_ops.c userlist.c \
-       whobbs.c vcard.c serv_notes.c serv_fulltext.c ft_wordbreaker.c \
-       crc16.c journaling.c citadel_dirs.c imap_list.c imap_metadata.c
-
-DEP_FILES=$(SOURCES:.c=.d)
+       housekeeping.c html.c ical_dezonify.c \
+       internet_addressing.c ecrash.c \
+       ipc_c_tcp.c locate_host.c md5.c messages.c  \
+       msgbase.c msgform.c parsedate.c policy.c \
+       room_ops.c rooms.c routines.c routines2.c tuiconfig.c euidindex.c \
+       screen.c sendcommand.c getmail.c \
+       server_main.c \
+       setup.c snprintf.c \
+       stress.c support.c sysdep.c user_ops.c userlist.c \
+       whobbs.c \
+       crc16.c journaling.c citadel_dirs.c threads.c
+
+include Make_sources
+
+DEP_FILES=$(SOURCES:.c=.d) modules_init.d modules_upgrade.d
 
 client: $(CLIENT_TARGETS)
 
@@ -129,10 +96,10 @@ utils: $(UTIL_TARGETS) $(UTILBIN_TARGETS)
 
 citadel$(EXEEXT): citadel.o citadel_ipc.o client_chat.o client_passwords.o \
        commands.o html.o ipc_c_tcp.o md5.o messages.o rooms.o routines.o \
-       routines2.o screen.o tools.o citadel_dirs.o $(LIBOBJS)
+       routines2.o tuiconfig.o screen.o citadel_dirs.o ecrash.o $(LIBOBJS)
        $(CC) citadel.o citadel_ipc.o client_chat.o client_passwords.o \
        commands.o html.o ipc_c_tcp.o md5.o messages.o rooms.o routines.o \
-       routines2.o screen.o tools.o citadel_dirs.o $(LIBOBJS) \
+       routines2.o tuiconfig.o screen.o citadel_dirs.o ecrash.o $(LIBOBJS) \
        $(LDFLAGS) -o citadel $(LIBS)
 
 .y.c:
@@ -144,15 +111,24 @@ citadel$(EXEEXT): citadel.o citadel_ipc.o client_chat.o client_passwords.o \
 
 parsedate.o: parsedate.c
 
+Make_sources: modules_init.c
+
+Make_modules: modules_init.c
+
+modules_upgrade.c: modules_init.c
+
+modules_init.c: mk_module_init.sh $(SOURCES) 
+       $(srcdir)/mk_module_init.sh
+
 SERV_OBJS = server_main.o \
        user_ops.o citserver.o sysdep.o serv_extensions.o \
-       tools.o $(DATABASE:.c=.o) domain.o \
+       $(DATABASE:.c=.o) domain.o \
        control.o policy.o config.o support.o room_ops.o \
        file_ops.o msgbase.o euidindex.o \
-       locate_host.o housekeeping.o mime_parser.o html.o \
+       locate_host.o housekeeping.o html.o \
        internet_addressing.o journaling.o \
-       serv_crypto.o parsedate.o genstamp.o \
-       clientsocket.o $(AUTH) $(SERV_MODULES)
+       parsedate.o genstamp.o ecrash.o threads.o\
+       clientsocket.o modules_init.o modules_upgrade.o $(AUTH) $(SERV_MODULES)
 
 citserver: $(SERV_OBJS)
        $(CC) $(SERV_OBJS) $(LDFLAGS) $(SERVER_LDFLAGS) $(LIBS) $(SERVER_LIBS) $(RESOLV) -o citserver
@@ -163,32 +139,38 @@ citserver: $(SERV_OBJS)
 aidepost: aidepost.o config.o
        $(CC) aidepost.o config.o citadel_dirs.o $(LDFLAGS) -o aidepost $(LIBS)
 
-citmail: citmail.o citadel_dirs.o tools.o
-       $(CC) citmail.o citadel_dirs.o tools.o $(LDFLAGS) -o citmail $(LIBS)
+citmail: citmail.o citadel_dirs.o
+       $(CC) citmail.o citadel_dirs.o $(LDFLAGS) -o citmail $(LIBS)
 
 # setup does need LIBS defined, because it uses network functions which are in -lsocket -lnsl on Solaris.
-setup: setup.o tools.o citadel_dirs.o
-       $(CC) setup.o tools.o citadel_dirs.o $(LDFLAGS) -o setup $(LIBS) $(SETUP_LIBS)
+setup: setup.o citadel_dirs.o
+       $(CC) setup.o citadel_dirs.o $(LDFLAGS) -o setup $(LIBS) $(SETUP_LIBS)
+
+chkpwd: chkpwd.o auth.o
+       $(CC) chkpwd.o auth.o $(LDFLAGS) -o chkpwd $(chkpwd_LIBS)
 
-chkpwd: chkpwd.o auth.o config.o citadel_dirs.o
-       $(CC) chkpwd.o auth.o config.o citadel_dirs.o $(LDFLAGS) -o chkpwd $(chkpwd_LIBS)
-       chmod 4755 chkpwd
+chkpw: chkpw.o auth.o citadel_dirs.o
+       $(CC) chkpw.o auth.o citadel_dirs.o $(LDFLAGS) -o chkpw $(chkpwd_LIBS)
 
-whobbs$(EXEEXT): whobbs.o ipc_c_tcp.o tools.o citadel_ipc.o citadel_dirs.o $(LIBOBJS)
-       $(CC) whobbs.o ipc_c_tcp.o tools.o citadel_ipc.o  citadel_dirs.o $(LIBOBJS) $(LDFLAGS) -o whobbs $(LIBS)
+whobbs$(EXEEXT): whobbs.o ipc_c_tcp.o citadel_ipc.o citadel_dirs.o $(LIBOBJS)
+       $(CC) whobbs.o ipc_c_tcp.o citadel_ipc.o  citadel_dirs.o $(LIBOBJS) $(LDFLAGS) -o whobbs $(LIBS)
 
-stress$(EXEEXT): stress.o ipc_c_tcp.o tools.o citadel_ipc.o citadel_dirs.o $(LIBOBJS)
-       $(CC) stress.o ipc_c_tcp.o tools.o citadel_ipc.o citadel_dirs.o $(LIBOBJS) $(LDFLAGS) -o stress $(LIBS)
+stress$(EXEEXT): stress.o ipc_c_tcp.o citadel_ipc.o citadel_dirs.o $(LIBOBJS)
+       $(CC) stress.o ipc_c_tcp.o citadel_ipc.o citadel_dirs.o $(LIBOBJS) $(LDFLAGS) -o stress $(LIBS)
 
-sendcommand: sendcommand.o ipc_c_tcp.o citadel_ipc.o tools.o config.o  $(LIBOBJS)
-       $(CC) sendcommand.o ipc_c_tcp.o citadel_ipc.o tools.o config.o  \
+sendcommand: sendcommand.o ipc_c_tcp.o citadel_ipc.o config.o  $(LIBOBJS)
+       $(CC) sendcommand.o ipc_c_tcp.o citadel_ipc.o config.o  \
         citadel_dirs.o $(LIBOBJS) $(LDFLAGS) -o sendcommand $(LIBS)
 
+getmail: getmail.o ipc_c_tcp.o citadel_ipc.o config.o  $(LIBOBJS)
+       $(CC) getmail.o ipc_c_tcp.o citadel_ipc.o config.o  \
+        citadel_dirs.o $(LIBOBJS) $(LDFLAGS) -o getmail $(LIBS)
+
 base64: base64.o
        $(CC) base64.o $(LDFLAGS) -o base64
 
-userlist: userlist.o ipc_c_tcp.o citadel_ipc.o tools.o citadel_dirs.o $(LIBOBJS)
-       $(CC) userlist.o ipc_c_tcp.o citadel_ipc.o tools.o citadel_dirs.o \
+userlist: userlist.o ipc_c_tcp.o citadel_ipc.o citadel_dirs.o $(LIBOBJS)
+       $(CC) userlist.o ipc_c_tcp.o citadel_ipc.o citadel_dirs.o \
        $(LIBOBJS) $(LDFLAGS) -o userlist $(LIBS)
 
 msgform: msgform.o
@@ -293,16 +275,15 @@ install-exec: all
                        $(INSTALL) $$i $(DESTDIR)$(prefix)/$$i; \
                fi \
        done
-       @for i in utilsmenu database_cleanup.sh citadel-openldap.schema; do \
+       $(srcdir)/mkinstalldirs $(DESTDIR)$(prefix)/unstripped
+       cp $(SERVER_TARGETS) $(DESTDIR)$(prefix)/unstripped/
+
+       @for i in utilsmenu database_cleanup.sh migrate_aliases.sh citadel-openldap.schema; do \
                if test -f $(srcdir)/$$i; then \
                        echo $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(prefix)/$$i; \
                        $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(prefix)/$$i; \
                fi \
        done
-       @if test x`find $(DESTDIR)$(prefix)/chkpwd -user root` = x$(DESTDIR)$(prefix)/chkpwd; then \
-               echo chmod u+s $(DESTDIR)$(prefix)/chkpwd; \
-               chmod u+s $(DESTDIR)$(prefix)/chkpwd; \
-       fi
 
 install-exec-new: all
        $(srcdir)/mkinstalldirs $(DESTDIR)/usr/sbin; 
@@ -316,6 +297,8 @@ install-exec-new: all
                        $(INSTALL) $$i $(DESTDIR)/usr/sbin/$$i; \
                fi \
        done
+       cp citserver $(DESTDIR)/$(UTILBIN_DIR)/citserver.unstripped
+       cp migrate_aliases.sh $(DESTDIR)/$(UTILBIN_DIR)/
        @for i in $(UTILBIN_TARGETS); do \
                if test -f $$i; then \
                        echo $(INSTALL) $$i $(DESTDIR)/$(UTILBIN_DIR)/$$i; \
@@ -336,24 +319,29 @@ install-exec-new: all
                        $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(DOC_DIR)/$$i; \
                fi \
        done
-       @if test x`find $(DESTDIR)/usr/sbin/chkpwd -user root` = x$(DESTDIR)$(prefix)/chkpwd; then \
-               echo chmod u+s $(DESTDIR)/usr/sbin/chkpwd; \
-               chmod u+s $(DESTDIR)usr/sbin/chkpwd; \
-       fi
 
 clean:
-       rm -f *.o
+       rm -f *.o 
+       for i in $(srcdir)/modules/* ; do \
+               rm -f $$i/*.o ;\
+       done
+       rm -f $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) $(UTILBIN_TARGETS)
+
 
 cleaner: clean
-       rm -rf $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) *.la
+       rm -rf $(CLIENT_TARGETS) $(SERVER_TARGETS) $(UTIL_TARGETS) $(UTILBIN_TARGETS) database_cleanup.sh *.la
+       rm -rf modules_upgrade.c modules_init.c modules_init.h Make_modules Make_sources
 
 distclean: cleaner
        find . -name '*~' -o -name '.#*' | xargs rm -f
        rm -f Makefile sysdep.h config.cache config.log config.status *.d 
+       for i in $(srcdir)/modules/* ; do \
+               rm -f $$i/*.d ;\
+       done
 
 .c.d:
        @echo Checking dependencies for $<
-       @$(CC) -M $(CPPFLAGS) $< | sed -e 's!$*.o!$*.o $*/.o $@!' > $@
+       @$(CC) $(DEPEND_FLAG) $(CPPFLAGS) $< | sed -e 's!$*.o!$*.o $*/.o $@!' > $@
        @test -s $@ || rm -f $@
 
 Makefile: $(srcdir)/Makefile.in config.status