mutt stable branch with some hacks
1## Process this file with automake to produce Makefile.in
2## Use aclocal -I m4; automake --foreign
3include $(top_srcdir)/flymake.am
4
5AUTOMAKE_OPTIONS = 1.6 foreign
6EXTRA_PROGRAMS = mutt_dotlock pgpring pgpewrap mutt_md5
7
8if BUILD_DOC
9DOC_SUBDIR = doc
10endif
11
12if BUILD_IMAP
13IMAP_SUBDIR = imap
14IMAP_INCLUDES = -I$(top_srcdir)/imap
15endif
16
17SUBDIRS = m4 po intl $(DOC_SUBDIR) contrib $(IMAP_SUBDIR)
18
19bin_SCRIPTS = muttbug flea $(SMIMEAUX_TARGET)
20
21if BUILD_HCACHE
22HCVERSION = hcversion.h
23endif
24
25BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h conststrings.c $(HCVERSION)
26
27bin_PROGRAMS = mutt $(DOTLOCK_TARGET) $(PGPAUX_TARGET)
28mutt_SOURCES = \
29 addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \
30 crypt.c cryptglue.c \
31 commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \
32 edit.c enter.c flags.c init.c filter.c from.c \
33 getdomain.c group.c \
34 handler.c hash.c hdrline.c headers.c help.c hook.c keymap.c \
35 main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c \
36 postpone.c query.c recvattach.c recvcmd.c \
37 rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
38 score.c send.c sendlib.c signal.c sort.c \
39 status.c system.c thread.c charset.c history.c lib.c \
40 muttlib.c editmsg.c mbyte.c \
41 url.c ascii.c crypt-mod.c crypt-mod.h safe_asprintf.c
42
43nodist_mutt_SOURCES = $(BUILT_SOURCES)
44
45mutt_LDADD = $(MUTT_LIB_OBJECTS) $(LIBOBJS) $(LIBIMAP) $(MUTTLIBS) \
46 $(INTLLIBS) $(LIBICONV) $(GPGME_LIBS)
47
48mutt_DEPENDENCIES = $(MUTT_LIB_OBJECTS) $(LIBOBJS) $(LIBIMAPDEPS) \
49 $(INTLDEPS)
50
51DEFS=-DPKGDATADIR=\"$(pkgdatadir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
52 -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \
53 -DHAVE_CONFIG_H=1
54
55AM_CPPFLAGS=-I. -I$(top_srcdir) $(IMAP_INCLUDES) $(GPGME_CFLAGS) -Iintl
56
57EXTRA_mutt_SOURCES = account.c bcache.c compress.c crypt-gpgme.c crypt-mod-pgp-classic.c \
58 crypt-mod-pgp-gpgme.c crypt-mod-smime-classic.c \
59 crypt-mod-smime-gpgme.c dotlock.c gnupgparse.c hcache.c md5.c \
60 mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \
61 mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \
62 pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \
63 sidebar.c smime.c smtp.c utf8.c wcwidth.c \
64 bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h
65
66EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
67 configure account.h \
68 attach.h buffy.h charset.h compress.h copy.h crypthash.h dotlock.h functions.h gen_defs \
69 globals.h hash.h history.h init.h keymap.h mutt_crypt.h \
70 mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \
71 mutt_regex.h mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
72 mx.h pager.h pgp.h pop.h protos.h rfc1524.h rfc2047.h \
73 rfc2231.h rfc822.h rfc3676.h sha1.h sort.h mime.types VERSION prepare \
74 _regex.h OPS.MIX README.SECURITY remailer.c remailer.h browser.h \
75 mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
76 README.SSL smime.h group.h \
77 muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
78 ChangeLog mkchangelog.sh mutt_idna.h sidebar.h OPS.SIDEBAR \
79 snprintf.c regex.c crypt-gpgme.h hcachever.sh.in \
80 txt2c.c txt2c.sh version.sh check_sec.sh
81
82EXTRA_SCRIPTS = smime_keys
83
84mutt_dotlock_SOURCES = mutt_dotlock.c
85mutt_dotlock_LDADD = $(LIBOBJS)
86mutt_dotlock_DEPENDENCIES = $(LIBOBJS)
87
88pgpring_SOURCES = pgppubring.c pgplib.c lib.c extlib.c sha1.c md5.c pgppacket.c ascii.c
89pgpring_LDADD = $(LIBOBJS) $(INTLLIBS)
90pgpring_DEPENDENCIES = $(LIBOBJS) $(INTLDEPS)
91
92mutt_md5_SOURCES = md5.c
93mutt_md5_CFLAGS = -DMD5UTIL
94mutt_md5_LDADD =
95
96txt2c_SOURCES = txt2c.c
97txt2c_LDADD =
98
99noinst_PROGRAMS = $(MUTT_MD5) txt2c
100
101mutt_dotlock.c: dotlock.c
102 cp $(srcdir)/dotlock.c mutt_dotlock.c
103
104conststrings.c: txt2c config.status
105 ( \
106 ($(CC) -v >/dev/null 2>&1 && $(CC) -v) || \
107 ($(CC) --version >/dev/null 2>&1 && $(CC) --version) || \
108 ($(CC) -V >/dev/null 2>&1 && $(CC) -V) || \
109 echo "unknown compiler"; \
110 ) 2>&1 | ${srcdir}/txt2c.sh cc_version >conststrings_c
111 echo "$(CFLAGS)" | ${srcdir}/txt2c.sh cc_cflags >>conststrings_c
112 grep ac_cs_config= config.status | \
113 cut -d= -f2- | \
114 sed -e 's/^"//' -e 's/"$$//' | ${srcdir}/txt2c.sh configure_options >>conststrings_c
115 mv -f conststrings_c conststrings.c
116
117CLEANFILES = mutt_dotlock.c keymap_alldefs.h $(BUILT_SOURCES)
118
119DISTCLEANFILES= flea smime_keys txt2c po/$(PACKAGE).pot
120
121ACLOCAL_AMFLAGS = -I m4
122
123LDADD = $(LIBOBJS) $(INTLLIBS)
124
125flea: muttbug.sh
126 cp muttbug.sh flea
127 chmod +x flea
128
129smime_keys: $(srcdir)/smime_keys.pl
130 cp $(srcdir)/smime_keys.pl smime_keys
131 chmod +x smime_keys
132
133keymap_defs.h: $(OPS) $(srcdir)/gen_defs
134 $(srcdir)/gen_defs $(OPS) > keymap_defs.h
135
136keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs
137 rm -f $@
138 $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP \
139 $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
140 > keymap_alldefs.h
141
142reldate.h: $(srcdir)/ChangeLog
143 echo 'const char *ReleaseDate = "'`head -n 1 $(srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1`'";' > reldate.h.tmp; \
144 cmp -s reldate.h.tmp reldate.h || cp reldate.h.tmp reldate.h; \
145 rm reldate.h.tmp
146
147# The '#undef ENABLE_NLS' is to work around an automake ordering issue:
148# BUILT_SOURCES are processed before SUBDIRS.
149# If configured with --with-included-gettext this means that intl will
150# not have generated libintl.h yet, and mutt.h -> lib.h will generate
151# an error.
152hcversion.h: $(srcdir)/mutt.h $(srcdir)/rfc822.h hcachever.sh $(MUTT_MD5)
153 ( echo '#include "config.h"'; echo '#undef ENABLE_NLS'; echo '#include "mutt.h"'; ) \
154 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - | sh ./hcachever.sh hcversion.h
155
156patchlist.c: $(srcdir)/PATCHES $(srcdir)/patchlist.sh
157 $(srcdir)/patchlist.sh < $(srcdir)/PATCHES > patchlist.c
158
159install-exec-hook:
160 if test -f $(DESTDIR)$(bindir)/mutt.dotlock && test -f $(DESTDIR)$(bindir)/mutt_dotlock ; then \
161 rm -f $(DESTDIR)$(bindir)/mutt.dotlock ; \
162 ln -sf $(DESTDIR)$(bindir)/mutt_dotlock $(DESTDIR)$(bindir)/mutt.dotlock ; \
163 fi
164 if test -f $(DESTDIR)$(bindir)/mutt_dotlock && test x$(DOTLOCK_GROUP) != x ; then \
165 chgrp $(DOTLOCK_GROUP) $(DESTDIR)$(bindir)/mutt_dotlock && \
166 chmod $(DOTLOCK_PERMISSION) $(DESTDIR)$(bindir)/mutt_dotlock || \
167 { echo "Can't fix mutt_dotlock's permissions! This is required to lock mailboxes in the mail spool directory." >&2 ; exit 1 ; } \
168 fi
169
170install-data-local:
171 $(MKDIR_P) $(DESTDIR)$(sysconfdir)
172 $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/mime.types.dist
173 -if [ ! -f $(DESTDIR)$(sysconfdir)/mime.types ]; then \
174 $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir); \
175 fi
176
177uninstall-local:
178 for i in mime.types ; do \
179 if cmp -s $(DESTDIR)$(sysconfdir)/$$i.dist $(DESTDIR)$(sysconfdir)/$$i ; then \
180 rm $(DESTDIR)$(sysconfdir)/$$i ; \
181 fi ; \
182 rm $(DESTDIR)$(sysconfdir)/$${i}.dist ; \
183 done
184
185pclean:
186 cat /dev/null > $(top_srcdir)/PATCHES
187
188check-security:
189 (cd $(top_srcdir) && ./check_sec.sh)
190
191commit:
192 @echo "make commit is obsolete; use hg-commit"; false
193
194update-changelog:
195 (cd $(top_srcdir); \
196 sh ./mkchangelog.sh | cat - ChangeLog > ChangeLog.$$$$ && mv ChangeLog.$$$$ ChangeLog; \
197 $${VISUAL:-vi} ChangeLog)
198
199mutt-dist:
200 (cd $(srcdir) && ./build-release )
201
202update-doc:
203 (cd doc && $(MAKE) update-doc)
204
205.PHONY: commit pclean check-security