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