Rocco Rutte:
[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 = muttng_dotlock pgpringng pgpewrapng makedoc
6
7 if BUILD_IMAP
8 IMAP_SUBDIR = imap
9 IMAP_INCLUDES = -I$(top_srcdir)/imap
10 endif
11
12 if BUILD_POP
13 POP_SUBDIR = pop
14 POP_INCLUDES = -I$(top_srcdir)/pop
15 endif
16
17 if BUILD_NNTP
18 NNTP_SUBDIR = nntp
19 NNTP_INCLUDES = -I$(top_srcdir)/nntp
20 endif
21
22 SUBDIRS = m4 po intl doc contrib lib $(IMAP_SUBDIR) $(POP_SUBDIR) $(NNTP_SUBDIR)
23
24 bin_SCRIPTS = muttngbug fleang
25
26 BUILT_SOURCES = keymap_defs.h patchlist.c version.h
27
28 bin_PROGRAMS = muttng @DOTLOCK_TARGET@ @PGPAUX_TARGET@ @SMIMEAUX_TARGET@
29 muttng_SOURCES = $(BUILT_SOURCES) \
30         alias.c ascii.c attach.c \
31         base64.c buffer.c browser.c buffy.c \
32         charset.c color.c compress.c crypt.c cryptglue.c commands.c complete.c \
33         compose.c copy.c curs_lib.c curs_main.c crypt-mod.c crypt-mod.h \
34         date.c \
35         edit.c editmsg.c enter.c \
36         flags.c filter.c from.c \
37         getdomain.c \
38         handler.c hash.c hcache.c hdrline.c headers.c help.c history.c hook.c \
39         init.c \
40         keymap.c \
41         lib.c list.c \
42         main.c mbox.c mbyte.c md5c.c menu.c mh.c muttlib.c mutt_idna.c mx.c \
43         pager.c parse.c pattern.c postpone.c \
44         query.c \
45         recvattach.c recvcmd.c rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
46         score.c send.c sendlib.c sidebar.c signal.c sort.c state.c status.c system.c \
47         thread.c \
48         url.c utf8.c \
49         wcwidth.c \
50         xterm.c
51
52 muttng_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(LIBPOP) $(LIBNNTP) \
53         -Llib -lsane $(MUTTLIBS) $(INTLLIBS) $(LIBICONV)
54
55 muttng_DEPENDENCIES = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(top_builddir)/lib/libsane.a \
56         $(LIBIMAPDEPS) $(LIBPOPDEPS) $(LIBNNTPDEPS) $(INTLDEPS)
57
58 makedoc_SOURCES = makedoc.c
59 makedoc_LDADD =
60 makedoc_DEPENDENCIES = 
61
62 # $(makedoc_OBJECTS): $(makedoc_SOURCES)
63 #       $(HOST_CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $<
64
65 # makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES)
66 #       @rm -rf makedoc
67 #       $(HOST_CC) $(AM_CFLAGS) $(LDFLAGS) $(makedoc_LDFLAGS) $(makedoc_OBJECTS) $(makedoc_LDADD) -o makedoc
68
69 CPP=@CPP@
70
71 DEFS=-DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
72         -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
73         -DHAVE_CONFIG_H=1
74
75 INCLUDES=-I. -I$(top_srcdir) $(IMAP_INCLUDES) $(POP_INCLUDES) $(NNTP_INCLUDES) $(LIBGPGME_CFLAGS) -Iintl
76
77 CPPFLAGS=@CPPFLAGS@ -I$(includedir)
78
79 EXTRA_muttng_SOURCES = \
80         account.c md5c.c mutt_sasl.c mutt_socket.c mutt_ssl.c \
81         mutt_tunnel.c smime.c pgp.c pgpinvoke.c pgpkey.c \
82         pgplib.c sha1.c pgpmicalg.c gnupgparse.c resize.c dotlock.c remailer.c \
83         alias.h \
84         buffer.h browser.h \
85         enter.h \
86         list.h \
87         mbyte.h remailer.h url.h state.h \
88         pgppacket.c mutt_idna.h mutt_libesmtp.c \
89         crypt-mod-pgp-classic.c crypt-mod-smime-classic.c \
90         sidebar.h state.h
91
92 EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO \
93         configure acconfig.h \
94         account.h alias.h attach.h recvattach.h handler.h thread.h \
95         buffer.h buffy.h \
96         charset.h compress.h copy.h crypthash.h \
97         dotlock.h functions.h gen_defs \
98         enter.h recvattach.h handler.h thread.h \
99         list.h \
100         globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
101         mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
102         mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
103         mbox.h mh.h mx.h pager.h pgp.h protos.h reldate.h rfc1524.h rfc2047.h \
104         rfc2231.h rfc822.h rfc3676.h \
105         sha1.h sort.h mime.types VERSION autogen.sh \
106         _regex.h OPS.MIX remailer.c remailer.h browser.h state.h \
107         mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h Muttngrc.head Muttngrc \
108         makedoc.c stamp-doc-rc README.SSL smime.h\
109         muttngbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh       \
110         mkchangelog.sh cvslog2changelog.pl mutt_idna.h \
111         snprintf.c regex.c mutt_libesmtp.h crypt-gpgme.h
112
113 muttng_dotlock_SOURCES = mutt_dotlock.c
114 muttng_dotlock_LDADD = @LIBOBJS@
115 muttng_dotlock_DEPENDENCIES = @LIBOBJS@
116
117 pgpringng_SOURCES = pgppubring.c pgplib.c lib.c extlib.c sha1.c md5c.c pgppacket.c ascii.c
118 pgpringng_LDADD = @LIBOBJS@ $(INTLLIBS) -Llib -lsane
119 pgpringng_DEPENDENCIES = @LIBOBJS@ $(INTLDEPS)
120
121 pgpewrapng_SOURCES = pgpewrap.c
122 pgpewrapng_LDADD = 
123 pgpewrapng_DEPENDENCIES = 
124
125 mutt_dotlock.c: dotlock.c
126         cp $(srcdir)/dotlock.c mutt_dotlock.c
127
128 CLEANFILES = mutt_dotlock.c stamp-doc-rc makedoc \
129         keymap_alldefs.h keymap_defs.h patchlist.c version.h
130
131 ACLOCAL_AMFLAGS = -I m4
132
133 LDADD = @LIBOBJS@ @INTLLIBS@
134
135 OPS=@OPS@
136
137 fleang: muttbug.sh
138         cp muttbug.sh fleang
139         chmod +x fleang
140
141 smime_keysng: $(srcdir)/smime_keys.pl
142         cp $(srcdir)/smime_keys.pl smime_keysng
143         chmod +x smime_keysng
144
145 Makefile: $(BUILT_SOURCES)
146
147 keymap_defs.h: $(OPS) $(srcdir)/gen_defs
148         $(srcdir)/gen_defs $(OPS) > keymap_defs.h
149
150 keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs
151         $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.PGP \
152                 $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
153                         > keymap_alldefs.h
154
155 version.h:
156         echo "#undef MUTT_VERSION" > version.h
157         if test -f "$(srcdir)/.svn/entries" ; then \
158           echo "#define MUTT_VERSION \"`cat $(srcdir)/VERSION.in`-r`grep revision $(srcdir)/.svn/entries | sort -r | uniq | head -n 1 | cut -d '"' -f 2`\"" >> version.h ; \
159         else \
160           echo "#define MUTT_VERSION \"`cat $(srcdir)/VERSION.in`-`cat $(srcdir)/VERSION.date`\"" >> version.h ; \
161         fi
162
163 reldate:
164         echo 'const char *ReleaseDate = "'`date +%Y-%m-%d`'";' > $(srcdir)/reldate.h
165
166 patchlist.c: $(srcdir)/PATCHES $(srcdir)/patchlist.sh
167         $(srcdir)/patchlist.sh < $(srcdir)/PATCHES > patchlist.c
168
169 install-exec-hook:
170         if test -f $(DESTDIR)$(bindir)/mutt.dotlock && test -f $(DESTDIR)$(bindir)/muttng_dotlock ; then        \
171                 rm -f $(DESTDIR)$(bindir)/mutt.dotlock ;                \
172                 ln -sf $(DESTDIR)$(bindir)/muttng_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
173         fi
174         if test -f $(DESTDIR)$(bindir)/muttng_dotlock && test x@DOTLOCK_GROUP@ != x ; then \
175                 chgrp @DOTLOCK_GROUP@ $(DESTDIR)$(bindir)/muttng_dotlock && \
176                 chmod @DOTLOCK_PERMISSION@ $(DESTDIR)$(bindir)/muttng_dotlock || \
177                 { echo "Can't fix muttng_dotlock's permissions!" >&2 ; } \
178         fi
179
180 install-data-local: Muttngrc
181         $(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir)
182         -if [ -f $(DESTDIR)$(pkgdatadir)/Muttngrc ] ; then \
183                 mv $(DESTDIR)$(pkgdatadir)/Muttngrc* $(DESTDIR)$(sysconfdir) ; \
184         elif [ -f $(DESTDIR)$(pkgdatadir)/../Muttngrc ] ; then \
185                 mv $(DESTDIR)$(pkgdatadir)/../Muttngrc* $(DESTDIR)$(sysconfdir) ; \
186         elif [ ! -f $(DESTDIR)$(sysconfdir)/Muttngrc ] ; then \
187                 $(INSTALL) -m 644 Muttngrc $(DESTDIR)$(sysconfdir) ; \
188         fi
189         -if [ ! -f $(DESTDIR)$(sysconfdir)/muttng-mime.types ]; then \
190                 $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/muttng-mime.types; \
191         fi
192
193
194 # Don't make this one ChangeLog - it's intended to be
195 # used manually.
196
197 pclean:
198         cat /dev/null > $(top_srcdir)/PATCHES
199
200 check-security:
201         (cd $(top_srcdir) && ./check_sec.sh)
202
203 commit-real:
204         (cd $(top_srcdir) && cvs commit)
205
206 commit-changelog:
207         (cd $(top_srcdir) && cvs commit -m "# changelog commit" ChangeLog)
208
209 commit: pclean check-security commit-real changelog commit-changelog
210
211 changelog:
212         (cd $(top_srcdir); \
213         cvs update ChangeLog; \
214         sh ./mkchangelog.sh | fmt -c | cat  - ChangeLog > ChangeLog.$$$$ && mv ChangeLog.$$$$ ChangeLog; \
215         $${VISUAL:-vi} ChangeLog)
216
217 ChangeLog: changelog
218
219 # kluge around automake problems.
220
221 dist-hook:
222         -for file in $(BUILT_SOURCES) ; do rm -f $(distdir)/$$file ; done
223
224 mutt-dist:
225         (cd $(srcdir) && ./build-release )
226
227 update-doc: stamp-doc-rc
228         (cd doc && $(MAKE) update-doc)
229
230 Muttngrc: stamp-doc-rc
231
232 stamp-doc-rc: $(srcdir)/init.h makedoc Muttngrc.head
233         -rm -f Muttngrc stamp-doc-rc
234         $(CPP) $(INCLUDES) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \
235                 $(srcdir)/init.h | ./makedoc -c | cat Muttngrc.head - > Muttngrc
236         touch stamp-doc-rc
237
238
239 .PHONY: commit pclean check-security commit-real commit-changelog
240 .PHONY: changelog ChangeLog