create the lib-mx now
[apps/madmutt.git] / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 ## Use aclocal -I m4; automake --foreign
3
4 AUTOMAKE_OPTIONS = foreign
5 EXTRA_PROGRAMS = madmutt_dotlock pgpringng pgpewrapng makedoc
6
7 if BUILD_NNTP
8 NNTP_SUBDIR = nntp
9 NNTP_INCLUDES = -I$(top_srcdir)/nntp
10 endif
11
12 SUBDIRS = intl m4 po $(XXXXXXXXXXXX_doc) contrib \
13           lib-mime lib-lib lib-mx lib-crypt lib-hash lib-sys lib-ui \
14           pop imap $(NNTP_SUBDIR)
15
16 BUILT_SOURCES = keymap_defs.h version.h charset.gperf
17 DISTCLEANFILES = $(BUILT_SOURCES)
18
19 bin_PROGRAMS = madmutt madmutt_dotlock pgpringng pgpewrapng smime_keysng
20 madmutt_SOURCES = $(BUILT_SOURCES) \
21         alias.c attach.c base64.c browser.c buffy.c charset.c commands.c \
22         compose.c copy.c editmsg.c init.c keymap.c lib.c \
23         flags.c from.c handler.c headers.c help.c hook.c \
24         main.c muttlib.c mutt_idna.c pager.c pattern.c postpone.c recvattach.c recvcmd.c \
25         score.c send.c sendlib.c sort.c state.c thread.c account.c
26
27 madmutt_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ \
28                -Llib-lib -llib -Llib-mime -lmime -Llib-crypt -lcrypt -Llib-mx -lmx \
29                -Limap -limap -Lpop -lpop $(LIBNNTP) \
30                -Llib-hash -lhash -Llib-sys -lsys -Llib-ui -lui \
31                $(MUTTLIBS) $(INTLLIBS) $(LIBICONV)
32
33 madmutt_DEPENDENCIES = @MUTT_LIB_OBJECTS@ @LIBOBJS@ \
34                        $(top_builddir)/lib-lib/liblib.a \
35                        $(top_builddir)/lib-mime/libmime.a \
36                        $(top_builddir)/lib-crypt/libcrypt.a \
37                        $(top_builddir)/lib-hash/libhash.a \
38                        $(top_builddir)/lib-ui/libui.a \
39                        $(top_builddir)/lib-mx/libmx.a \
40                        \
41                        $(top_builddir)/pop/libpop.a  \
42                        $(top_builddir)/imap/libimap.a \
43                        $(LIBNNTPDEPS) $(INTLDEPS)
44
45 makedoc_SOURCES = makedoc.c
46 makedoc_LDADD = -Llib-lib -llib
47 makedoc_DEPENDENCIES = $(top_builddir)/lib-lib/liblib.a
48
49 CPP=@CPP@
50
51 DEFS=-DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
52         -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
53         -DHAVE_CONFIG_H=1 -DPKGDOCDIR=\"$(docdir)\"
54
55 INCLUDES=-I. -I$(top_srcdir) $(IMAP_INCLUDES) $(NNTP_INCLUDES) $(GPGME_CFLAGS) -Iintl
56
57 CPPFLAGS=@CPPFLAGS@ -I$(includedir)
58
59 EXTRA_madmutt_SOURCES = \
60         account.c mutt_sasl.c dotlock.c remailer.c \
61         alias.h browser.h remailer.h state.h \
62         mutt_idna.h mutt_libesmtp.c state.h
63
64 EXTRA_DIST = config.rpath  COPYRIGHT GPL OPS OPS.MIX TODO \
65         configure account.h alias.h attach.h recvattach.h handler.h thread.h \
66         buffy.h charset.h copy.h dotlock.h functions.def gen_defs \
67         recvattach.h handler.h thread.h globals.h init.h keymap.h \
68         mime.h mutt.h mutt_sasl.h pager.h protos.h \
69         sort.h mime.types autogen.sh remailer.c remailer.h browser.h state.h \
70         lib.h extlib.c pgpewrap.c smime_keys.pl Madmuttrc.head Madmuttrc \
71         makedoc.c stamp-doc-rc README.SSL depcomp mutt_idna.h mutt_libesmtp.h
72
73 madmutt_dotlock_SOURCES = dotlock.c
74 madmutt_dotlock_LDADD = -Llib-lib -llib @LIBOBJS@
75 madmutt_dotlock_DEPENDENCIES = @LIBOBJS@ $(top_builddir)/lib-lib/liblib.a
76
77 pgpringng_SOURCES = pgppubring.c lib.c extlib.c
78 pgpringng_LDADD = @LIBOBJS@ $(INTLLIBS) \
79                   -Llib-lib -llib -Llib-hash -lhash -Llib-crypt -lcrypt
80 pgpringng_DEPENDENCIES = @LIBOBJS@ $(INTLDEPS) \
81                          $(top_builddir)/lib-lib/liblib.a \
82                          $(top_builddir)/lib-hash/libhash.a
83
84 pgpewrapng_SOURCES = pgpewrap.c
85 pgpewrapng_LDADD = 
86 pgpewrapng_DEPENDENCIES = 
87
88 CLEANFILES = stamp-doc-rc makedoc \
89         keymap_alldefs.h keymap_defs.h version.h
90
91 ACLOCAL_AMFLAGS = -I m4
92
93 LDADD = @LIBOBJS@ @LIBINTL@
94
95 OPS=@OPS@
96
97 charset.gperf: charset.def
98         sh $< > $@
99
100 smime_keysng: $(srcdir)/smime_keys.pl
101         cp $(srcdir)/smime_keys.pl smime_keysng
102         chmod +x smime_keysng
103
104 Makefile: $(BUILT_SOURCES)
105
106 keymap_defs.h: $(OPS)
107         $(srcdir)/gen_defs $^ > keymap_defs.h
108
109 keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.MIX
110         $(srcdir)/gen_defs $^ > keymap_alldefs.h
111
112 version.h:
113         echo "#define MUTT_REVISION \"git\"" > version.h
114
115 install-exec-hook:
116         if test -f $(DESTDIR)$(bindir)/mutt.dotlock && test -f $(DESTDIR)$(bindir)/madmutt_dotlock ; then       \
117                 rm -f $(DESTDIR)$(bindir)/mutt.dotlock ;                \
118                 ln -sf $(DESTDIR)$(bindir)/madmutt_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
119         fi
120         if test -f $(DESTDIR)$(bindir)/madmutt_dotlock && test x@DOTLOCK_GROUP@ != x ; then \
121                 chgrp @DOTLOCK_GROUP@ $(DESTDIR)$(bindir)/madmutt_dotlock && \
122                 chmod @DOTLOCK_PERMISSION@ $(DESTDIR)$(bindir)/madmutt_dotlock || \
123                 { echo "Can't fix madmutt_dotlock's permissions!" >&2 ; } \
124         fi
125
126 install-data-local: madmuttrc
127         $(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
128         -if [ -f $(DESTDIR)$(pkgdatadir)/madmuttrc ] ; then \
129                 mv $(DESTDIR)$(pkgdatadir)/madmuttrc* $(DESTDIR)$(sysconfdir) ; \
130         elif [ -f $(DESTDIR)$(pkgdatadir)/../madmuttrc ] ; then \
131                 mv $(DESTDIR)$(pkgdatadir)/../madmuttrc* $(DESTDIR)$(sysconfdir) ; \
132         elif [ ! -f $(DESTDIR)$(sysconfdir)/madmuttrc ] ; then \
133                 $(INSTALL) -m 644 madmuttrc $(DESTDIR)$(sysconfdir) ; \
134         fi
135         -if [ ! -f $(DESTDIR)$(sysconfdir)/madmutt-mime.types ]; then \
136                 $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/madmutt-mime.types; \
137         fi
138
139
140 # kluge around automake problems.
141
142 dist-hook:
143         -for file in $(BUILT_SOURCES) ; do rm -f $(distdir)/$$file ; done
144
145 mutt-dist:
146         (cd $(srcdir) && ./build-release )
147
148 update-doc: stamp-doc-rc
149         (cd doc && $(MAKE) update-doc)
150
151 madmuttrc: stamp-doc-rc
152
153 stamp-doc-rc: $(srcdir)/init.h makedoc madmuttrc.head
154         -rm -f madmuttrc stamp-doc-rc
155         $(CPP) $(INCLUDES) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \
156                 $(srcdir)/init.h | ./makedoc -c | cat madmuttrc.head - > madmuttrc
157         touch stamp-doc-rc
158
159
160 -include cflags.mk
161
162 wc:
163         @sloccount $(wildcard *.h *.c) $(wildcard lib-*/) lib imap nntp pop | grep 'ansic[=:]'