Use good m_ functions, because it smell like a flower, version 2.
[apps/madmutt.git] / Makefile.am
index 45bfa78..bb631e9 100644 (file)
 ## Use aclocal -I m4; automake --foreign
 
 AUTOMAKE_OPTIONS = foreign
-EXTRA_PROGRAMS = muttng_dotlock pgpringng pgpewrapng makedoc
-
-if BUILD_IMAP
-IMAP_SUBDIR = imap
-IMAP_INCLUDES = -I$(top_srcdir)/imap
-endif
-
-if BUILD_POP
-POP_SUBDIR = pop
-POP_INCLUDES = -I$(top_srcdir)/pop
-endif
+EXTRA_PROGRAMS = madmutt_dotlock pgpringng pgpewrapng makedoc
 
 if BUILD_NNTP
 NNTP_SUBDIR = nntp
-NNTP_INCLUDES = -I$(top_srcdir)/nntp
 endif
 
-SUBDIRS = m4 po intl doc contrib lib $(IMAP_SUBDIR) $(POP_SUBDIR) $(NNTP_SUBDIR)
-
-bin_SCRIPTS = muttngbug fleang
-
-BUILT_SOURCES = keymap_defs.h patchlist.c
-
-bin_PROGRAMS = muttng @DOTLOCK_TARGET@ @PGPAUX_TARGET@ @SMIMEAUX_TARGET@
-muttng_SOURCES = $(BUILT_SOURCES) \
-       addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
-       compress.c crypt.c cryptglue.c \
-       commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \
-       edit.c enter.c flags.c init.c filter.c from.c getdomain.c \
-       handler.c hash.c hdrline.c headers.c help.c hook.c keymap.c \
-       main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c \
-       postpone.c query.c recvattach.c recvcmd.c \
-       rfc822.c rfc1524.c rfc2047.c rfc2231.c \
-       score.c send.c sendlib.c signal.c sort.c \
-       status.c system.c thread.c charset.c history.c lib.c \
-       muttlib.c editmsg.c utf8.c mbyte.c wcwidth.c md5c.c \
-       url.c ascii.c mutt_idna.c sidebar.c hcache.c crypt-mod.c crypt-mod.h
-
-muttng_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(LIBPOP) $(LIBNNTP) \
-       -Llib -lsane $(MUTTLIBS) $(INTLLIBS) $(LIBICONV)
-
-muttng_DEPENDENCIES = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(top_srcdir)/lib/libsane.a \
-       $(LIBIMAPDEPS) $(LIBPOPDEPS) $(LIBNNTPDEPS) $(INTLDEPS)
+SUBDIRS = intl m4 po $(XXXXXXXXXXXX_doc) contrib \
+         lib-mime lib-lib lib-mx lib-crypt lib-hash lib-sys lib-ui \
+         pop imap $(NNTP_SUBDIR)
+
+BUILT_SOURCES = keymap_defs.h version.h charset.gperf
+DISTCLEANFILES = $(BUILT_SOURCES)
+
+bin_PROGRAMS = madmutt madmutt_dotlock pgpringng pgpewrapng smime_keysng
+madmutt_SOURCES = $(BUILT_SOURCES) \
+       alias.c attach.c base64.c browser.c buffy.c charset.c commands.c \
+       compose.c copy.c editmsg.c init.c keymap.c lib.c \
+       flags.c from.c handler.c headers.c help.c hook.c \
+       main.c muttlib.c mutt_idna.c pager.c pattern.c postpone.c recvattach.c recvcmd.c \
+       score.c send.c sendlib.c sort.c state.c thread.c account.c remailer.c
+
+madmutt_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ \
+              -Llib-lib -llib -Llib-mime -lmime -Llib-crypt -lcrypt -Llib-mx -lmx \
+              -Limap -limap -Lpop -lpop $(LIBNNTP) \
+              -Llib-hash -lhash -Llib-sys -lsys -Llib-ui -lui \
+              $(MUTTLIBS) $(INTLLIBS) $(LIBICONV)
+
+madmutt_DEPENDENCIES = @MUTT_LIB_OBJECTS@ @LIBOBJS@ \
+                      $(top_builddir)/lib-lib/liblib.a \
+                      $(top_builddir)/lib-mime/libmime.a \
+                      $(top_builddir)/lib-crypt/libcrypt.a \
+                      $(top_builddir)/lib-hash/libhash.a \
+                      $(top_builddir)/lib-ui/libui.a \
+                      $(top_builddir)/lib-mx/libmx.a \
+                      \
+                      $(top_builddir)/pop/libpop.a  \
+                      $(top_builddir)/imap/libimap.a \
+                      $(LIBNNTPDEPS) $(INTLDEPS)
 
 makedoc_SOURCES = makedoc.c
-makedoc_LDADD =
-makedoc_DEPENDENCIES = 
-
-# $(makedoc_OBJECTS): $(makedoc_SOURCES)
-#      $(HOST_CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $<
-
-# makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
-#      @rm -rf makedoc
-#      $(HOST_CC) $(AM_CFLAGS) $(LDFLAGS) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) -o makedoc
+makedoc_LDADD = -Llib-lib -llib
+makedoc_DEPENDENCIES = $(top_builddir)/lib-lib/liblib.a
 
 CPP=@CPP@
 
 DEFS=-DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
        -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
-       -DHAVE_CONFIG_H=1
+       -DHAVE_CONFIG_H=1 -DPKGDOCDIR=\"$(docdir)\"
 
-INCLUDES=-I. -I$(top_srcdir) $(IMAP_INCLUDES) $(POP_INCLUDES) $(NNTP_INCLUDES) $(LIBGPGME_CFLAGS) -Iintl
+INCLUDES=-I$(top_srcdir) $(GPGME_CFLAGS) -Iintl
 
 CPPFLAGS=@CPPFLAGS@ -I$(includedir)
 
-
-EXTRA_muttng_SOURCES = account.c md5c.c mutt_sasl.c mutt_socket.c mutt_ssl.c \
-       mutt_tunnel.c smime.c pgp.c pgpinvoke.c pgpkey.c \
-       pgplib.c sha1.c pgpmicalg.c gnupgparse.c resize.c dotlock.c remailer.c \
-       browser.h mbyte.h remailer.h url.h mutt_ssl_nss.c \
-       pgppacket.c mutt_idna.h mutt_libesmtp.c \
-       sidebar.h crypt-mod-pgp-classic.c crypt-mod-smime-classic.c
-
-EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO \
-       configure acconfig.h account.h \
-       compress.h \
-       attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \
-       globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
-       mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
-       mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
-       mx.h pager.h pgp.h protos.h reldate.h rfc1524.h rfc2047.h \
-       rfc2231.h rfc822.h sha1.h sort.h mime.types VERSION prepare \
-       _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
-       mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h Muttngrc.head Muttngrc \
-       makedoc.c stamp-doc-rc README.SSL smime.h\
-       muttngbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh       \
-       ChangeLog.old mkchangelog.sh cvslog2changelog.pl mutt_idna.h \
-       snprintf.c regex.c mutt_libesmtp.h crypt-gpgme.h
-
-muttng_dotlock_SOURCES = mutt_dotlock.c
-muttng_dotlock_LDADD = @LIBOBJS@
-muttng_dotlock_DEPENDENCIES = @LIBOBJS@
-
-pgpringng_SOURCES = pgppubring.c pgplib.c lib.c extlib.c sha1.c md5c.c pgppacket.c ascii.c
-pgpringng_LDADD = @LIBOBJS@ $(INTLLIBS) -Llib -lsane
-pgpringng_DEPENDENCIES = @LIBOBJS@ $(INTLDEPS)
+EXTRA_madmutt_SOURCES = \
+       account.c mutt_sasl.c dotlock.c remailer.c \
+       alias.h browser.h remailer.h state.h \
+       mutt_idna.h mutt_libesmtp.c state.h
+
+EXTRA_DIST = config.rpath  COPYRIGHT GPL OPS TODO \
+       configure account.h alias.h attach.h recvattach.h handler.h thread.h \
+       buffy.h charset.h copy.h dotlock.h functions.def gen_defs \
+       recvattach.h handler.h thread.h globals.h init.h keymap.h \
+       mime.h mutt.h mutt_sasl.h pager.h protos.h \
+       sort.h mime.types autogen.sh remailer.c remailer.h browser.h state.h \
+       lib.h extlib.c pgpewrap.c smime_keys.pl Madmuttrc.head Madmuttrc \
+       makedoc.c stamp-doc-rc README.SSL depcomp mutt_idna.h mutt_libesmtp.h
+
+madmutt_dotlock_SOURCES = dotlock.c
+madmutt_dotlock_LDADD = -Llib-lib -llib @LIBOBJS@
+madmutt_dotlock_DEPENDENCIES = @LIBOBJS@ $(top_builddir)/lib-lib/liblib.a
+
+pgpringng_SOURCES = pgppubring.c lib.c extlib.c
+pgpringng_LDADD = @LIBOBJS@ $(INTLLIBS) \
+                 -Llib-lib -llib -Llib-hash -lhash -Llib-crypt -lcrypt
+pgpringng_DEPENDENCIES = @LIBOBJS@ $(INTLDEPS) \
+                        $(top_builddir)/lib-lib/liblib.a \
+                        $(top_builddir)/lib-hash/libhash.a
 
 pgpewrapng_SOURCES = pgpewrap.c
 pgpewrapng_LDADD = 
 pgpewrapng_DEPENDENCIES = 
 
-mutt_dotlock.c: dotlock.c
-       cp $(srcdir)/dotlock.c mutt_dotlock.c
-
-CLEANFILES = mutt_dotlock.c stamp-doc-rc makedoc \
-       keymap_alldefs.h keymap_defs.h patchlist.c
+CLEANFILES = stamp-doc-rc makedoc keymap_defs.h version.h Madmuttrc
 
 ACLOCAL_AMFLAGS = -I m4
 
-LDADD = @LIBOBJS@ @INTLLIBS@
-
-OPS=@OPS@
+LDADD = @LIBOBJS@ @LIBINTL@
 
-fleang:        muttbug.sh
-       cp muttbug.sh fleang
-       chmod +x fleang
+charset.gperf: charset.def
+       sh $< > $@
 
 smime_keysng: $(srcdir)/smime_keys.pl
        cp $(srcdir)/smime_keys.pl smime_keysng
        chmod +x smime_keysng
 
-Makefile: $(BUILT_SOURCES)
-
-keymap_defs.h: $(OPS) $(srcdir)/gen_defs
-       $(srcdir)/gen_defs $(OPS) > keymap_defs.h
+keymap_defs.h: OPS
+       $(srcdir)/gen_defs $^ > keymap_defs.h
 
-keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs
-       $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.PGP \
-               $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
-                       > keymap_alldefs.h
+version.h:
+       echo "#define MUTT_REVISION \"git\"" > version.h
 
-reldate:
-       echo 'const char *ReleaseDate = "'`date +%Y-%m-%d`'";' > $(srcdir)/reldate.h
-
-patchlist.c: $(srcdir)/PATCHES $(srcdir)/patchlist.sh
-       $(srcdir)/patchlist.sh < $(srcdir)/PATCHES > patchlist.c
-
-install-exec-local:
-       if test -f $(DESTDIR)$(bindir)/mutt.dotlock && test -f $(DESTDIR)$(bindir)/muttng_dotlock ; then        \
+install-exec-hook:
+       if test -f $(DESTDIR)$(bindir)/mutt.dotlock && test -f $(DESTDIR)$(bindir)/madmutt_dotlock ; then       \
                rm -f $(DESTDIR)$(bindir)/mutt.dotlock ;                \
-               ln -sf $(DESTDIR)$(bindir)/muttng_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
+               ln -sf $(DESTDIR)$(bindir)/madmutt_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
        fi
-       if test -f $(DESTDIR)$(bindir)/muttng_dotlock && test x@DOTLOCK_GROUP@ != x ; then \
-               chgrp @DOTLOCK_GROUP@ $(DESTDIR)$(bindir)/muttng_dotlock && \
-               chmod @DOTLOCK_PERMISSION@ $(DESTDIR)$(bindir)/muttng_dotlock || \
-               { echo "Can't fix muttng_dotlock's permissions!" >&2 ; exit 1 ; } \
+       if test -f $(DESTDIR)$(bindir)/madmutt_dotlock && test x@DOTLOCK_GROUP@ != x ; then \
+               chgrp @DOTLOCK_GROUP@ $(DESTDIR)$(bindir)/madmutt_dotlock && \
+               chmod @DOTLOCK_PERMISSION@ $(DESTDIR)$(bindir)/madmutt_dotlock || \
+               { echo "Can't fix madmutt_dotlock's permissions!" >&2 ; } \
        fi
 
-install-data-local: Muttngrc
+install-data-local: Madmuttrc
        $(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
-       -if [ -f $(DESTDIR)$(pkgdatadir)/Muttngrc ] ; then \
-               mv $(DESTDIR)$(pkgdatadir)/Muttngrc* $(DESTDIR)$(sysconfdir) ; \
-       elif [ -f $(DESTDIR)$(pkgdatadir)/../Muttngrc ] ; then \
-               mv $(DESTDIR)$(pkgdatadir)/../Muttngrc* $(DESTDIR)$(sysconfdir) ; \
-       elif [ ! -f $(DESTDIR)$(sysconfdir)/Muttngrc ] ; then \
-               $(INSTALL) -m 644 $(srcdir)/Muttngrc $(DESTDIR)$(sysconfdir) ; \
+       -if [ -f $(DESTDIR)$(pkgdatadir)/Madmuttrc ] ; then \
+               mv $(DESTDIR)$(pkgdatadir)/Madmuttrc* $(DESTDIR)$(sysconfdir) ; \
+       elif [ -f $(DESTDIR)$(pkgdatadir)/../Madmuttrc ] ; then \
+               mv $(DESTDIR)$(pkgdatadir)/../Madmuttrc* $(DESTDIR)$(sysconfdir) ; \
+       elif [ ! -f $(DESTDIR)$(sysconfdir)/Madmuttrc ] ; then \
+               $(INSTALL) -m 644 Madmuttrc $(DESTDIR)$(sysconfdir) ; \
        fi
-       -if [ ! -f $(DESTDIR)$(sysconfdir)/muttng-mime.types ]; then \
-               $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/muttng-mime.types; \
+       -if [ ! -f $(DESTDIR)$(sysconfdir)/madmutt-mime.types ]; then \
+               $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/madmutt-mime.types; \
        fi
 
 
-# Don't make this one ChangeLog - it's intended to be
-# used manually.
-
-pclean:
-       cat /dev/null > $(top_srcdir)/PATCHES
-
-check-security:
-       (cd $(top_srcdir) && ./check_sec.sh)
-
-commit-real:
-       (cd $(top_srcdir) && cvs commit)
-
-commit-changelog:
-       (cd $(top_srcdir) && cvs commit -m "# changelog commit" ChangeLog)
-
-commit: pclean check-security commit-real changelog commit-changelog
-
-changelog:
-       (cd $(top_srcdir); \
-       cvs update ChangeLog; \
-       sh ./mkchangelog.sh | fmt -c | cat  - ChangeLog > ChangeLog.$$$$ && mv ChangeLog.$$$$ ChangeLog; \
-       $${VISUAL:-vi} ChangeLog)
-
-ChangeLog: changelog
-
-# kluge around automake problems.
-
-dist-hook:
-       -for file in $(BUILT_SOURCES) ; do rm -f $(distdir)/$$file ; done
-
-mutt-dist:
-       (cd $(srcdir) && ./build-release )
-
 update-doc: stamp-doc-rc
        (cd doc && $(MAKE) update-doc)
 
-Muttngrc: stamp-doc-rc
+Madmuttrc: stamp-doc-rc
 
-stamp-doc-rc: $(srcdir)/init.h makedoc Muttngrc.head
-       -rm -f Muttngrc stamp-doc-rc
+stamp-doc-rc: $(srcdir)/init.h makedoc Madmuttrc.head
+       -rm -f Madmuttrc stamp-doc-rc
        $(CPP) $(INCLUDES) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \
-               $(srcdir)/init.h | ./makedoc -c | cat Muttngrc.head - > Muttngrc
-       touch stamp-doc-rc
+               $(srcdir)/init.h | ./makedoc -c | cat Madmuttrc.head - > Madmuttrc
+       touch $@
+
 
+-include cflags.mk
 
-.PHONY: commit pclean check-security commit-real commit-changelog
-.PHONY: changelog ChangeLog
+wc:
+       @sloccount $(wildcard *.h *.c) $(wildcard lib-*/) lib imap nntp pop | grep 'ansic[=:]'