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