## LDADD is included in the program-specific LDADD since we want to add
## to this list of libraries, not replace it.
##
-LDADD = sbr/libmh.a sbr/libdtimep.a
+LDADD = sbr/libmh.a
##
## These are used to create the default mhn.defaults config file
auxexecdir="$(auxexecdir)" bindir="$(bindir)" \
mandir="$(mandir)" sysconfdir="$(sysconfdir)" \
MULTIBYTE_ENABLED=$(MULTIBYTE_ENABLED) \
+ ICONV_ENABLED=$(ICONV_ENABLED) \
$(TESTS_SHELL) ## Keep at end of TESTS_ENVIRONMENT.
##
## Important note: the "cleanup" test should always be last
##
TESTS = test/ali/test-ali test/anno/test-anno \
test/bad-input/test-header \
- test/burst/test-burst \
+ test/burst/test-burst test/burst/test-burst-mime \
test/comp/test-comp-format test/dist/test-dist \
test/folder/test-create test/folder/test-packf \
test/folder/test-recurse test/folder/test-sortm \
## Stuff that should be cleaned via "make clean"
##
CLEANFILES = config/version.c sbr/sigmsg.h etc/mts.conf \
+ etc/gen-ctype-checked sbr/ctype-checked.h sbr/ctype-checked.c \
etc/mhn.defaults man/man.sed man/mh-chart.man $(man_MANS)
clean-local:
@rm -rf RPM a.out.dSYM uip/a.out.dSYM
##
## Files that need to be built before everything else
##
-BUILT_SOURCES = sbr/sigmsg.h
+BUILT_SOURCES = sbr/sigmsg.h sbr/ctype-checked.c
##
## This is a list of all programs that get installed in the "bin" directory
## the latter do not have $(EXEEXT) added on the end.
##
bin_PROGRAMS = uip/ali uip/anno uip/burst uip/comp uip/dist uip/flist \
- uip/folder uip/forw uip/inc uip/install-mh uip/mark \
- uip/mhbuild uip/mhlist uip/mhn uip/mhparam \
+ uip/fmttest uip/folder uip/forw uip/inc uip/install-mh \
+ uip/mark uip/mhbuild uip/mhlist uip/mhn uip/mhparam \
uip/mhpath uip/mhshow uip/mhstore uip/msgchk uip/msh uip/new \
uip/packf uip/pick uip/prompter uip/refile uip/repl uip/rmf \
uip/rmm uip/scan uip/send uip/show uip/sortm uip/whatnow \
auxexec_SCRIPTS = uip/spost
+##
+## Programs that MAY need to get built at some point; we need to list them
+## here if they don't appear in any other primary so Automake knows about
+## them and can properly record dependency information.
+##
+EXTRA_PROGRAMS = etc/gen-ctype-checked
+
##
## Internal libraries that we create as part of the build process
## but do not install
##
-noinst_LIBRARIES = sbr/libmh.a sbr/libdtimep.a mts/libmts.a
+noinst_LIBRARIES = sbr/libmh.a mts/libmts.a
##
## These are all of our header files. Right now we don't install any of
h/mh.h h/mhcachesbr.h h/mhparse.h h/mime.h h/msh.h \
h/mts.h h/nmh.h h/picksbr.h h/popsbr.h h/prototypes.h \
h/rcvmail.h h/scansbr.h h/signals.h h/tws.h h/utils.h \
- h/vmhsbr.h mts/smtp/smtp.h
+ h/vmhsbr.h mts/smtp/smtp.h sbr/ctype-checked.h
##
## Extra files we need to install in various places
##
man_MANS = man/ali.1 man/anno.1 man/ap.8 man/burst.1 man/comp.1 \
man/conflict.8 man/dist.1 man/dp.8 man/flist.1 man/flists.1 \
- man/fmtdump.8 man/fnext.1 man/folder.1 man/folders.1 \
+ man/fmtdump.8 man/fmttest.1 man/fnext.1 man/folder.1 man/folders.1 \
man/forw.1 man/fprev.1 man/inc.1 man/install-mh.1 man/mark.1 \
man/mh-alias.5 man/mh-chart.7 man/mh-draft.5 man/mh-format.5 \
man/mh-mail.5 man/mh-profile.5 man/mh_profile.5 man/mh-sequence.5 \
##
man_SRCS = man/ali.man man/anno.man man/ap.man man/burst.man man/comp.man \
man/conflict.man man/dist.man man/dp.man man/flist.man \
- man/flists.man man/fmtdump.man man/fnext.man man/folder.man \
- man/folders.man man/forw.man man/fprev.man man/inc.man \
- man/install-mh.man man/mark.man man/mh-alias.man \
+ man/flists.man man/fmtdump.man man/fmttest.man man/fnext.man \
+ man/folder.man man/folders.man man/forw.man man/fprev.man \
+ man/inc.man man/install-mh.man man/mark.man man/mh-alias.man \
man/mh-chart-gen.sh man/mh-draft.man man/mh-format.man \
man/mh-mail.man man/mh-profile.man man/mh_profile.man \
man/mh-sequence.man man/mh-tailor.man man/mhbuild.man man/mhl.man \
uip_anno_SOURCES = uip/anno.c uip/annosbr.c
-uip_burst_SOURCES = uip/burst.c
+uip_burst_SOURCES = uip/burst.c uip/mhparse.c uip/mhmisc.c uip/mhfree.c \
+ uip/mhcachesbr.c uip/md5.c
uip_comp_SOURCES = uip/comp.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \
uip/annosbr.c uip/distsbr.c
uip_fmtdump_SOURCES = uip/fmtdump.c
uip_fmtdump_LDADD = $(LDADD) $(ICONVLIB)
+uip_fmttest_SOURCES = uip/fmttest.c uip/termsbr.c
+uip_fmttest_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB)
+
uip_mhl_SOURCES = uip/mhl.c uip/mhlsbr.c uip/termsbr.c
uip_mhl_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB)
test_fakesmtp_SOURCES = test/fakesmtp.c
test_fakesmtp_LDADD =
+test_getcwidth_SOURCES = test/getcwidth.c
+test_getcwidth_LDADD =
+
+etc_gen_ctype_checked_SOURCES = etc/gen-ctype-checked.c
+etc_gen_ctype_checked_LDADD =
+
##
## Our rebuild rules for files that aren't built via the normal mechanisms
##
sbr/sigmsg.h: $(srcdir)/sbr/sigmsg.awk $(SIGNAL_H)
$(AWK) -f $(srcdir)/sbr/sigmsg.awk $(SIGNAL_H) > $@
+sbr/ctype-checked.h: etc/gen-ctype-checked
+ etc/gen-ctype-checked
+
+sbr/ctype-checked.c: etc/gen-ctype-checked sbr/ctype-checked.h
+
etc/mts.conf: $(srcdir)/etc/mts.conf.in Makefile
@rm -f $@
$(SED) -e 's,%mts%,$(MTS),' \
sbr/context_replace.c sbr/context_save.c \
sbr/copy.c sbr/copyip.c sbr/cpydata.c \
sbr/cpydgst.c sbr/crawl_folders.c sbr/discard.c \
- sbr/done.c sbr/dtime.c sbr/escape_addresses.c \
+ sbr/done.c sbr/dtimep.l sbr/dtime.c \
+ sbr/escape_addresses.c \
sbr/error.c sbr/ext_hook.c sbr/fdcompare.c \
sbr/folder_addmsg.c sbr/folder_delmsgs.c \
sbr/folder_free.c sbr/folder_pack.c \
sbr/showfile.c sbr/signals.c sbr/smatch.c \
sbr/snprintb.c sbr/ssequal.c sbr/strcasecmp.c \
sbr/strindex.c sbr/trimcpy.c sbr/uprf.c sbr/vfgets.c \
- sbr/fmt_def.c sbr/mf.c sbr/utils.c \
+ sbr/fmt_def.c sbr/mf.c sbr/utils.c sbr/ctype-checked.c \
sbr/m_mktemp.c sbr/getansreadline.c config/config.c \
config/version.c
-DSENDMAILPATH='"$(sendmailpath)"' -DNMHBINDIR='"$(bindir)"' \
-DNMHLIBDIR='"$(libdir)"'
-sbr_libdtimep_a_SOURCES = sbr/dtimep.l
-sbr_libdtimep_a_CFLAGS = $(sbr_libmh_a_CPPFLAGS) \
- $(DISABLE_UNUSED_MACROS_WARNING) \
- $(DISABLE_SIGN_COMPARE_WARNING)
-
mts_libmts_a_SOURCES = mts/smtp/smtp.c
##
## Don't include commit hashes in ChangeLog.
ChangeLog:
- @[ -d .git ] && git --no-pager log --abbrev-commit | \
- egrep -v '^commit [0-9a-f]+$$' > $@ || true
+ @[ -d $(srcdir)/.git ] && (cd $(srcdir); git --no-pager log --abbrev-commit | \
+ egrep -v '^commit [0-9a-f]+$$' > $@) || true
## Make ChangeLog phony so it will always get regenerated. But don't
## fail if we don't have a git repository in order to allow
## regeneration of distribution archive or RPM.