1## Our Makefile.am template for Makefile.in (and, eventually, Makefile) 2## 3## Process this with automake to generate Makefile.in 4## Lists are in `LC_ALL=C sort' order. 5## 6 7## We set this to get our autoconf macros in the m4 directory 8ACLOCAL_AMFLAGS = -I m4 9 10AM_YFLAGS = -d 11 12## 13## This is the default set of libraries all programs link against. Some 14## programs add extra libraries to this set, so they override this with 15## a program-specific LDADD variable. Note that in all of the cases today 16## LDADD is included in the program-specific LDADD since we want to add 17## to this list of libraries, not replace it. 18## 19LDADD = sbr/libmh.a 20 21## 22## These are used to create the default mhn.defaults config file 23## MHNSEARCHPATH is the default path to look for MIME content handlers 24## MHNSEARCHPROG is the script used to find the support programs 25## 26MHNSEARCHPATH = "$(PATH)" 27MHNSEARCHPROG = $(srcdir)/etc/mhn.find.sh 28 29## 30## Install config files and back-end programs in our own subdirecctories. 31## 32nmhetcdir = @sysconfdir@/nmh 33nmhlibexecdir = @libexecdir@/nmh 34 35## 36## nmh _does_ have a test suite! 37## 38TESTS_ENVIRONMENT = MH_OBJ_DIR="@abs_builddir@" \ 39 MH_VERSION="$(VERSION)" \ 40 OAUTH_SUPPORT='@OAUTH_SUPPORT@' \ 41 CURL_USER_AGENT='@CURL_USER_AGENT@' \ 42 MH_TEST_DIR=`cd "@abs_builddir@" && pwd -P`/test/testdir \ 43 nmhlibexecdir="$(nmhlibexecdir)" bindir="$(bindir)" \ 44 mandir="$(mandir)" nmhetcdir="$(nmhetcdir)" \ 45 nmhetcdirinst="@nmhetcdirinst@$(nmhetcdir)" \ 46 supported_locks="$(supported_locks)" \ 47 default_locking="${default_locking}" \ 48 MULTIBYTE_ENABLED=$(MULTIBYTE_ENABLED) \ 49 ICONV_ENABLED=$(ICONV_ENABLED) \ 50 $(TESTS_SHELL) ## Keep at end of TESTS_ENVIRONMENT. 51 52## 53## Important note: the "cleanup" test should always be last 54## 55TESTS = \ 56 test/ali/test-ali \ 57 test/anno/test-anno \ 58 test/bad-input/test-header \ 59 test/burst/test-burst \ 60 test/burst/test-burst-mime \ 61 test/comp/test-comp-format \ 62 test/dist/test-dist \ 63 test/folder/test-coverage \ 64 test/folder/test-create \ 65 test/folder/test-nocreate \ 66 test/folder/test-packf \ 67 test/folder/test-recurse \ 68 test/folder/test-sortm \ 69 test/folder/test-total \ 70 test/format/test-ap \ 71 test/format/test-curses \ 72 test/format/test-dp \ 73 test/format/test-fmtdump \ 74 test/format/test-fmttest \ 75 test/format/test-functions \ 76 test/format/test-localmbox \ 77 test/format/test-myhost \ 78 test/format/test-mymbox \ 79 test/format/test-myname \ 80 test/format/test-nullstr \ 81 test/format/test-rightjustify \ 82 test/format/test-unquote \ 83 test/forw/test-forw-coverage \ 84 test/forw/test-forw-digest \ 85 test/forw/test-forw-format \ 86 test/inc/test-deb359167 \ 87 test/inc/test-eom-align \ 88 test/inc/test-inc-scanout \ 89 test/inc/test-msgchk \ 90 test/inc/test-pop \ 91 test/install-mh/test-install-mh \ 92 test/install-mh/test-version-check \ 93 test/locking/test-datalocking \ 94 test/locking/test-spoollocking \ 95 test/manpages/test-manpages \ 96 test/mhbuild/test-attach \ 97 test/mhbuild/test-cte \ 98 test/mhbuild/test-ext-params \ 99 test/mhbuild/test-forw \ 100 test/mhbuild/test-header-encode \ 101 test/mhbuild/test-mhbuild \ 102 test/mhbuild/test-utf8-body \ 103 test/mhfixmsg/test-mhfixmsg \ 104 test/mhical/test-mhical \ 105 test/mhl/test-mhl-flags \ 106 test/mhl/test-rfc6532 \ 107 test/mhlist/test-ext-params \ 108 test/mhlist/test-mhlist \ 109 test/mhmail/test-mhmail \ 110 test/mhparam/test-mhparam \ 111 test/mhpath/test-mhpath \ 112 test/mhshow/test-binary \ 113 test/mhshow/test-charset \ 114 test/mhshow/test-cte-binary \ 115 test/mhshow/test-msg-buffer-boundaries \ 116 test/mhshow/test-qp \ 117 test/mhshow/test-subpart \ 118 test/mhshow/test-textcharset \ 119 test/mhstore/test-mhstore \ 120 test/mkstemp/test-mkstemp \ 121 test/new/test-basic \ 122 test/oauth/test-inc \ 123 test/oauth/test-mhlogin \ 124 test/oauth/test-mhparam \ 125 test/oauth/test-send \ 126 test/oauth/test-sendfrom \ 127 test/oauth/test-share \ 128 test/pick/test-pick \ 129 test/pick/test-stderr \ 130 test/post/test-messageid \ 131 test/post/test-mts \ 132 test/post/test-post-aliases \ 133 test/post/test-post-basic \ 134 test/post/test-post-bcc \ 135 test/post/test-post-dcc \ 136 test/post/test-post-envelope \ 137 test/post/test-post-fcc \ 138 test/post/test-post-group \ 139 test/post/test-post-multifrom \ 140 test/post/test-post-multiple \ 141 test/post/test-rfc6531 \ 142 test/post/test-sendfiles \ 143 test/prompter/test-prompter \ 144 test/rcv/test-rcvdist \ 145 test/rcv/test-rcvpack \ 146 test/rcv/test-rcvstore \ 147 test/rcv/test-rcvtty \ 148 test/refile/test-refile \ 149 test/repl/test-convert \ 150 test/repl/test-if-str \ 151 test/repl/test-multicomp \ 152 test/repl/test-repl \ 153 test/repl/test-trailing-newline \ 154 test/scan/test-header-parsing \ 155 test/scan/test-scan \ 156 test/scan/test-scan-multibyte \ 157 test/send/test-sendfrom \ 158 test/sequences/test-flist \ 159 test/sequences/test-mark \ 160 test/sequences/test-out-of-range \ 161 test/show/test-show \ 162 test/slocal/test-slocal \ 163 test/whatnow/test-attach-detach \ 164 test/whatnow/test-cd \ 165 test/whatnow/test-ls \ 166 test/whom/test-whom \ 167 test/cleanup ## The "cleanup" test should always be last. 168 169XFAIL_TESTS = 170 171check_SCRIPTS = test/common.sh 172 173check_PROGRAMS = \ 174 test/fakehttp \ 175 test/fakepop \ 176 test/fakesmtp \ 177 test/getcanon \ 178 test/getcwidth \ 179 test/getfullname \ 180 test/runpty \ 181 # 182 183## So they can be built without builing the `check' target. 184check-programs: $(check_PROGRAMS) 185 186## The location of installed nmhetcdir is, for all purposes except 187## distcheck, $nmhetcdir. For distcheck, prepend $MH_INST_DIR (from 188## test/common.sh.in), which is based on $MH_TEST_DIR (from 189## $TESTS_ENVIRONMENT). 190AM_DISTCHECK_CONFIGURE_FLAGS = DISABLE_SETGID_MAIL=1 \ 191 NMHETCDIRINST='$${abs_builddir}/test/testdir/inst' 192 193## 194## Stuff that should be cleaned via "make clean" 195## 196CLEANFILES = \ 197 $(man_MANS) \ 198 *.plist \ 199 config/version.c \ 200 etc/bash_completion_nmh \ 201 etc/mhn.defaults \ 202 etc/mts.conf \ 203 man/man.sed \ 204 man/mh-chart.man 205 # 206 207clean-local: 208 @rm -rf RPM a.out.dSYM uip/a.out.dSYM 209 @rm -rf test/testdir 210 211## 212## Stuff that should be cleaned via "make maintainer-clean" 213## 214MAINTAINERCLEANFILES = \ 215 *.plist \ 216 atags \ 217 cscope.files \ 218 cscope.in.out \ 219 cscope.out \ 220 cscope.po.out \ 221 # 222 223## 224## And our own superclean, to get everything left by maintainer-clean. 225## 226SUPERCLEANFILES = \ 227 ChangeLog \ 228 Makefile.in \ 229 aclocal.m4 \ 230 compile \ 231 config.guess \ 232 config.h.in \ 233 config.h.in~ \ 234 config.sub \ 235 configure \ 236 depcomp \ 237 install-sh \ 238 missing \ 239 nmh-*.tar.gz \ 240 nmh-*.tar.gz.sig \ 241 test-driver \ 242 ylwrap \ 243 # 244 245superclean: maintainer-clean 246 @rm -f $(SUPERCLEANFILES) 247.PHONY: superclean 248 249## 250## This is a list of all programs that get installed in the "bin" directory 251## Note that primary difference between "PROGRAMS" and "SCRIPTS" is that 252## the latter do not have $(EXEEXT) added on the end. 253## 254bin_PROGRAMS = \ 255 uip/ali \ 256 uip/anno \ 257 uip/burst \ 258 uip/comp \ 259 uip/dist \ 260 uip/flist \ 261 uip/fmttest \ 262 uip/folder \ 263 uip/forw \ 264 uip/inc \ 265 uip/install-mh \ 266 uip/mark \ 267 uip/mhbuild \ 268 uip/mhfixmsg \ 269 uip/mhical \ 270 uip/mhlist \ 271 uip/mhlogin \ 272 uip/mhn \ 273 uip/mhparam \ 274 uip/mhpath \ 275 uip/mhshow \ 276 uip/mhstore \ 277 uip/msgchk \ 278 uip/new \ 279 uip/packf \ 280 uip/pick \ 281 uip/prompter \ 282 uip/refile \ 283 uip/repl \ 284 uip/rmf \ 285 uip/rmm \ 286 uip/scan \ 287 uip/send \ 288 uip/show \ 289 uip/sortm \ 290 uip/whatnow \ 291 uip/whom \ 292 # 293 294bin_SCRIPTS = \ 295 etc/sendfiles \ 296 uip/mhmail \ 297 # 298 299## 300## This is all programs that get installed in the "libexec/nmh" directory 301## 302nmhlibexec_PROGRAMS = \ 303 uip/ap \ 304 uip/dp \ 305 uip/fmtdump \ 306 uip/mhl \ 307 uip/mkstemp \ 308 uip/post \ 309 uip/rcvdist \ 310 uip/rcvpack \ 311 uip/rcvstore \ 312 uip/rcvtty \ 313 uip/slocal \ 314 uip/viamail \ 315 # 316 317nmhlibexec_SCRIPTS = uip/spost 318 319## 320## Internal libraries that we create as part of the build process 321## but do not install 322## 323noinst_LIBRARIES = \ 324 mts/libmts.a \ 325 sbr/libmh.a \ 326 # 327 328## 329## These are all of our header files. Right now we don't install any of 330## them, but that might change in the future. 331## 332noinst_HEADERS = \ 333 h/addrsbr.h \ 334 h/aliasbr.h \ 335 h/crawl_folders.h \ 336 h/dropsbr.h \ 337 h/fmt_compile.h \ 338 h/fmt_scan.h \ 339 h/icalendar.h \ 340 h/md5.h \ 341 h/mf.h \ 342 h/mh.h \ 343 h/mhcachesbr.h \ 344 h/mhparse.h \ 345 h/mime.h \ 346 h/mts.h \ 347 h/netsec.h \ 348 h/nmh.h \ 349 h/oauth.h \ 350 h/picksbr.h \ 351 h/popsbr.h \ 352 h/prototypes.h \ 353 h/rcvmail.h \ 354 h/scansbr.h \ 355 h/signals.h \ 356 h/tws.h \ 357 h/utils.h \ 358 mts/smtp/smtp.h \ 359 sbr/ctype-checked.h \ 360 sbr/lock_file.h \ 361 sbr/m_maildir.h \ 362 sbr/m_mktemp.h \ 363 sbr/m_popen.h \ 364 sbr/m_rand.h \ 365 sbr/makedir.h \ 366 sbr/message_id.h \ 367 sbr/mime_type.h \ 368 sbr/unquote.h \ 369 thirdparty/jsmn/jsmn.h \ 370 uip/mhfree.h \ 371 uip/mhoutsbr.h \ 372 uip/mhshowsbr.h \ 373 # 374 375## 376## Extra files we need to install in various places 377## 378dist_nmhetc_SCRIPTS = etc/rmmproc.messageid 379dist_nmhetc_DATA = \ 380 etc/MailAliases \ 381 etc/components \ 382 etc/digestcomps \ 383 etc/distcomps \ 384 etc/forwcomps \ 385 etc/mhical.12hour \ 386 etc/mhical.24hour \ 387 etc/mhl.body \ 388 etc/mhl.digest \ 389 etc/mhl.format \ 390 etc/mhl.forward \ 391 etc/mhl.headers \ 392 etc/mhl.reply \ 393 etc/mhl.replywithoutbody \ 394 etc/mhshow.marker \ 395 etc/rcvdistcomps \ 396 etc/rcvdistcomps.outbox \ 397 etc/replcomps \ 398 etc/replgroupcomps \ 399 etc/scan.MMDDYY \ 400 etc/scan.YYYYMMDD \ 401 etc/scan.curses \ 402 etc/scan.default \ 403 etc/scan.highlighted \ 404 etc/scan.mailx \ 405 etc/scan.nomime \ 406 etc/scan.size \ 407 etc/scan.time \ 408 etc/scan.timely \ 409 etc/scan.unseen \ 410 # 411 412## 413## The same as above, but we don't include these in the distribution 414## (because they're generated at compile time) 415## 416nmhetc_DATA = \ 417 etc/bash_completion_nmh \ 418 etc/mhn.defaults \ 419 etc/mts.conf \ 420 # 421 422## 423## Documentation that gets installed in docdir 424## 425dist_doc_DATA = \ 426 COPYRIGHT \ 427 INSTALL \ 428 NEWS \ 429 README \ 430 VERSION \ 431 docs/COMPLETION-TCSH \ 432 docs/COMPLETION-ZSH \ 433 docs/DIFFERENCES \ 434 docs/FAQ \ 435 docs/MAIL.FILTERING \ 436 docs/MAILING-LISTS \ 437 docs/README-ATTACHMENTS \ 438 docs/README-HOOKS \ 439 docs/README-components \ 440 docs/README.SASL \ 441 docs/README.about \ 442 docs/README.developers \ 443 docs/README.manpages \ 444 docs/TODO \ 445 # 446 447## 448## Contribs that get installed in docdir/contrib/ 449## 450docs_contribdir = $(docdir)/contrib 451dist_docs_contrib_SCRIPTS = \ 452 docs/contrib/localpostproc \ 453 docs/contrib/ml \ 454 docs/contrib/replyfilter \ 455 docs/contrib/vpick \ 456 # 457 458dist_docs_contrib_DATA = docs/contrib/replaliases 459 460## 461## Our man pages 462## 463man_MANS = \ 464 man/MH.7 \ 465 man/ali.1 \ 466 man/anno.1 \ 467 man/ap.8 \ 468 man/burst.1 \ 469 man/comp.1 \ 470 man/dist.1 \ 471 man/dp.8 \ 472 man/flist.1 \ 473 man/flists.1 \ 474 man/fmtdump.8 \ 475 man/fmttest.1 \ 476 man/fnext.1 \ 477 man/folder.1 \ 478 man/folders.1 \ 479 man/forw.1 \ 480 man/fprev.1 \ 481 man/inc.1 \ 482 man/install-mh.1 \ 483 man/mark.1 \ 484 man/mh-alias.5 \ 485 man/mh-chart.7 \ 486 man/mh-draft.5 \ 487 man/mh-folders.5 \ 488 man/mh-format.5 \ 489 man/mh-mail.5 \ 490 man/mh-mime.7 \ 491 man/mh-mkstemp.1 \ 492 man/mh-profile.5 \ 493 man/mh-sequence.5 \ 494 man/mh-tailor.5 \ 495 man/mh_profile.5 \ 496 man/mhbuild.1 \ 497 man/mhfixmsg.1 \ 498 man/mhical.1 \ 499 man/mhl.1 \ 500 man/mhlist.1 \ 501 man/mhlogin.1 \ 502 man/mhmail.1 \ 503 man/mhn.1 \ 504 man/mhparam.1 \ 505 man/mhpath.1 \ 506 man/mhshow.1 \ 507 man/mhstore.1 \ 508 man/msgchk.1 \ 509 man/mts.conf.5 \ 510 man/new.1 \ 511 man/next.1 \ 512 man/nmh.7 \ 513 man/packf.1 \ 514 man/pick.1 \ 515 man/post.8 \ 516 man/prev.1 \ 517 man/prompter.1 \ 518 man/rcvdist.1 \ 519 man/rcvpack.1 \ 520 man/rcvstore.1 \ 521 man/rcvtty.1 \ 522 man/refile.1 \ 523 man/repl.1 \ 524 man/rmf.1 \ 525 man/rmm.1 \ 526 man/scan.1 \ 527 man/send.1 \ 528 man/sendfiles.1 \ 529 man/show.1 \ 530 man/slocal.1 \ 531 man/sortm.1 \ 532 man/unseen.1 \ 533 man/whatnow.1 \ 534 man/whom.1 \ 535 # 536 537## 538## Sources for our man pages 539## 540man_SRCS = \ 541 man/MH.man \ 542 man/ali.man \ 543 man/anno.man \ 544 man/ap.man \ 545 man/burst.man \ 546 man/comp.man \ 547 man/dist.man \ 548 man/dp.man \ 549 man/flist.man \ 550 man/flists.man \ 551 man/fmtdump.man \ 552 man/fmttest.man \ 553 man/fnext.man \ 554 man/folder.man \ 555 man/folders.man \ 556 man/forw.man \ 557 man/fprev.man \ 558 man/inc.man \ 559 man/install-mh.man \ 560 man/mark.man \ 561 man/mh-alias.man \ 562 man/mh-chart-gen.sh \ 563 man/mh-draft.man \ 564 man/mh-folders.man \ 565 man/mh-format.man \ 566 man/mh-mail.man \ 567 man/mh-mime.man \ 568 man/mh-mkstemp.man \ 569 man/mh-profile.man \ 570 man/mh-sequence.man \ 571 man/mh-tailor.man \ 572 man/mh_profile.man \ 573 man/mhbuild.man \ 574 man/mhfixmsg.man \ 575 man/mhical.man \ 576 man/mhl.man \ 577 man/mhlist.man \ 578 man/mhlogin.man \ 579 man/mhmail.man \ 580 man/mhn.man \ 581 man/mhparam.man \ 582 man/mhpath.man \ 583 man/mhshow.man \ 584 man/mhstore.man \ 585 man/msgchk.man \ 586 man/mts.conf.man \ 587 man/new.man \ 588 man/next.man \ 589 man/nmh.man \ 590 man/packf.man \ 591 man/pick.man \ 592 man/post.man \ 593 man/prev.man \ 594 man/prompter.man \ 595 man/rcvdist.man \ 596 man/rcvpack.man \ 597 man/rcvstore.man \ 598 man/rcvtty.man \ 599 man/refile.man \ 600 man/repl.man \ 601 man/rmf.man \ 602 man/rmm.man \ 603 man/scan.man \ 604 man/send.man \ 605 man/sendfiles.man \ 606 man/show.man \ 607 man/slocal.man \ 608 man/sortm.man \ 609 man/unseen.man \ 610 man/whatnow.man \ 611 man/whom.man \ 612 # 613 614## 615## Files we need to include in the distribution which aren't found by 616## Automake using the automatic rules 617## 618EXTRA_DIST = \ 619 $(MHNSEARCHPROG) \ 620 $(TESTS) \ 621 $(man_SRCS) \ 622 DATE \ 623 MACHINES \ 624 SPECS/nmh.cygport \ 625 SPECS/nmh.spec \ 626 autogen.sh \ 627 build_nmh \ 628 config/version.sh \ 629 docs/ChangeLog_MH-3_to_MH-6.6 \ 630 docs/ChangeLog_MH-6.7.0_to_MH-6.8.4.html \ 631 etc/bash_completion_nmh-gen \ 632 etc/mhn.defaults.sh \ 633 etc/mts.conf.in \ 634 etc/sendfiles \ 635 sbr/icalparse.h \ 636 test/README \ 637 test/fakesendmail \ 638 test/inc/deb359167.mbox \ 639 test/inc/filler.txt \ 640 test/inc/fromline.txt \ 641 test/inc/md5sums \ 642 test/inc/msgheader.txt \ 643 test/mhbuild/nulls \ 644 test/mhbuild/somebinary \ 645 test/mhbuild/textplain \ 646 test/mhbuild/tiny.jpg \ 647 test/mhmail/attachment.txt \ 648 test/oauth/common.sh \ 649 test/post/test-post-common.sh \ 650 test/send/README \ 651 test/valgrind.supp \ 652 uip/mhmail \ 653 # 654 655## 656## These are all of the definitions for each of the programs listed above. 657## They describe the source files that make up the programs and any particular 658## overrides that are used to select different library options from the 659## default. 660## 661POSTLINK = @POSTLINK@ 662 663uip_ali_SOURCES = uip/ali.c uip/aliasbr.c 664uip_ali_LDADD = $(LDADD) $(POSTLINK) 665 666uip_anno_SOURCES = uip/anno.c uip/annosbr.c 667uip_anno_LDADD = $(LDADD) $(POSTLINK) 668 669uip_burst_SOURCES = uip/burst.c uip/mhparse.c uip/mhmisc.c uip/mhfree.c \ 670 uip/mhcachesbr.c 671uip_burst_LDADD = $(LDADD) $(ICONVLIB) $(POSTLINK) 672 673uip_comp_SOURCES = uip/comp.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \ 674 uip/annosbr.c uip/distsbr.c 675uip_comp_LDADD = $(LDADD) $(READLINELIB) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 676 677uip_dist_SOURCES = uip/dist.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \ 678 uip/annosbr.c uip/distsbr.c uip/forwsbr.c 679uip_dist_LDADD = $(LDADD) $(READLINELIB) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 680 681uip_flist_SOURCES = uip/flist.c 682uip_flist_LDADD = $(LDADD) $(POSTLINK) 683 684uip_folder_SOURCES = uip/folder.c 685uip_folder_LDADD = $(LDADD) $(POSTLINK) 686 687uip_forw_SOURCES = uip/forw.c uip/whatnowproc.c uip/whatnowsbr.c uip/sendsbr.c \ 688 uip/annosbr.c uip/distsbr.c uip/forwsbr.c 689uip_forw_LDADD = $(LDADD) $(READLINELIB) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 690 691uip_inc_SOURCES = uip/inc.c uip/scansbr.c uip/dropsbr.c uip/popsbr.c 692uip_inc_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(SASLLIB) $(CURLLIB) \ 693 $(TLSLIB) $(POSTLINK) 694 695uip_install_mh_SOURCES = uip/install-mh.c 696uip_install_mh_LDADD = $(LDADD) $(POSTLINK) 697 698uip_mark_SOURCES = uip/mark.c 699uip_mark_LDADD = $(LDADD) $(POSTLINK) 700 701uip_mhbuild_SOURCES = uip/mhbuild.c uip/mhbuildsbr.c uip/mhcachesbr.c \ 702 uip/mhlistsbr.c uip/mhoutsbr.c uip/mhmisc.c \ 703 uip/mhfree.c uip/mhparse.c \ 704 uip/mhstoresbr.c uip/mhshowsbr.c 705uip_mhbuild_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 706 707uip_mhfixmsg_SOURCES = uip/mhfixmsg.c uip/mhparse.c uip/mhcachesbr.c \ 708 uip/mhoutsbr.c uip/mhmisc.c uip/mhfree.c \ 709 uip/mhshowsbr.c uip/mhlistsbr.c 710uip_mhfixmsg_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 711 712uip_mhical_SOURCES = uip/mhical.c 713uip_mhical_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 714 715uip_mhlist_SOURCES = uip/mhlist.c uip/mhparse.c uip/mhcachesbr.c \ 716 uip/mhlistsbr.c uip/mhmisc.c uip/mhfree.c 717uip_mhlist_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 718 719uip_mhn_SOURCES = uip/mhn.c uip/mhparse.c uip/mhcachesbr.c uip/mhshowsbr.c \ 720 uip/mhlistsbr.c uip/mhstoresbr.c uip/mhmisc.c uip/mhfree.c 721uip_mhn_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 722 723uip_mhparam_SOURCES = uip/mhparam.c 724uip_mhparam_LDADD = $(LDADD) $(POSTLINK) 725 726uip_mhpath_SOURCES = uip/mhpath.c 727uip_mhpath_LDADD = $(LDADD) $(POSTLINK) 728 729uip_mhshow_SOURCES = uip/mhshow.c uip/mhparse.c uip/mhcachesbr.c \ 730 uip/mhshowsbr.c uip/mhlistsbr.c uip/mhmisc.c \ 731 uip/mhfree.c 732uip_mhshow_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 733 734uip_mhstore_SOURCES = uip/mhstore.c uip/mhparse.c uip/mhcachesbr.c \ 735 uip/mhshowsbr.c uip/mhlistsbr.c uip/mhstoresbr.c \ 736 uip/mhmisc.c uip/mhfree.c 737uip_mhstore_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 738 739uip_msgchk_SOURCES = uip/msgchk.c uip/popsbr.c 740uip_msgchk_LDADD = $(LDADD) $(SASLLIB) $(CURLLIB) $(TLSLIB) $(POSTLINK) 741 742uip_new_SOURCES = uip/new.c 743uip_new_LDADD = $(LDADD) $(POSTLINK) 744 745uip_packf_SOURCES = uip/packf.c uip/dropsbr.c 746uip_packf_LDADD = $(LDADD) $(POSTLINK) 747 748uip_pick_SOURCES = uip/pick.c uip/picksbr.c 749uip_pick_LDADD = $(LDADD) $(ICONVLIB) $(POSTLINK) 750 751uip_prompter_SOURCES = uip/prompter.c 752uip_prompter_LDADD = $(LDADD) $(POSTLINK) 753 754uip_refile_SOURCES = uip/refile.c 755uip_refile_LDADD = $(LDADD) $(POSTLINK) 756 757uip_repl_SOURCES = uip/repl.c uip/replsbr.c uip/whatnowproc.c uip/whatnowsbr.c \ 758 uip/sendsbr.c uip/annosbr.c uip/distsbr.c 759uip_repl_LDADD = $(LDADD) $(READLINELIB) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 760 761uip_rmf_SOURCES = uip/rmf.c 762uip_rmf_LDADD = $(LDADD) $(POSTLINK) 763 764uip_rmm_SOURCES = uip/rmm.c 765uip_rmm_LDADD = $(LDADD) $(POSTLINK) 766 767uip_scan_SOURCES = uip/scan.c uip/scansbr.c 768uip_scan_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 769 770uip_send_SOURCES = uip/send.c uip/sendsbr.c uip/annosbr.c \ 771 uip/distsbr.c 772uip_send_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 773 774uip_show_SOURCES = uip/show.c uip/mhlsbr.c 775uip_show_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 776 777uip_sortm_SOURCES = uip/sortm.c 778uip_sortm_LDADD = $(LDADD) $(POSTLINK) 779 780uip_whatnow_SOURCES = uip/whatnow.c uip/whatnowsbr.c uip/sendsbr.c \ 781 uip/annosbr.c uip/distsbr.c 782uip_whatnow_LDADD = $(LDADD) $(READLINELIB) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 783 784uip_whom_SOURCES = uip/whom.c uip/distsbr.c 785uip_whom_LDADD = $(LDADD) $(POSTLINK) 786 787## 788## Program definitions for all utilities that end up in $(nmhlibexecdir) 789## 790 791uip_ap_SOURCES = uip/ap.c 792uip_ap_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 793 794uip_dp_SOURCES = uip/dp.c 795uip_dp_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 796 797uip_fmtdump_SOURCES = uip/fmtdump.c 798uip_fmtdump_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 799 800uip_fmttest_SOURCES = uip/fmttest.c 801uip_fmttest_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 802 803uip_mhl_SOURCES = uip/mhl.c uip/mhlsbr.c 804uip_mhl_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 805 806uip_mhlogin_SOURCES = uip/mhlogin.c 807uip_mhlogin_LDADD = mts/libmts.a $(LDADD) $(CURLLIB) $(POSTLINK) 808 809uip_mkstemp_SOURCES = uip/mkstemp.c 810uip_mkstemp_LDADD = $(LDADD) $(POSTLINK) 811 812uip_post_SOURCES = uip/post.c uip/aliasbr.c 813uip_post_LDADD = mts/libmts.a $(LDADD) $(SASLLIB) $(CURLLIB) $(TLSLIB) \ 814 $(POSTLINK) 815 816uip_rcvdist_SOURCES = uip/rcvdist.c uip/distsbr.c 817uip_rcvdist_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 818 819uip_rcvpack_SOURCES = uip/rcvpack.c uip/dropsbr.c 820uip_rcvpack_LDADD = $(LDADD) $(POSTLINK) 821 822uip_rcvstore_SOURCES = uip/rcvstore.c 823uip_rcvstore_LDADD = $(LDADD) $(POSTLINK) 824 825uip_rcvtty_SOURCES = uip/rcvtty.c uip/scansbr.c 826uip_rcvtty_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 827 828uip_slocal_SOURCES = uip/slocal.c uip/aliasbr.c uip/dropsbr.c 829uip_slocal_LDADD = $(LDADD) $(NDBM_LIBS) $(POSTLINK) 830 831uip_viamail_SOURCES = uip/viamail.c uip/mhmisc.c uip/sendsbr.c \ 832 uip/annosbr.c uip/distsbr.c 833uip_viamail_LDADD = $(LDADD) $(TERMLIB) $(ICONVLIB) $(POSTLINK) 834 835## 836## Other program definitions 837## 838 839test_getfullname_SOURCES = test/getfullname.c 840test_getfullname_LDADD = $(LDADD) $(POSTLINK) 841 842test_getcanon_SOURCES = test/getcanon.c 843test_getcanon_LDADD = $(POSTLINK) 844 845test_fakepop_SOURCES = test/fakepop.c test/server.c 846test_fakepop_LDADD = $(POSTLINK) 847 848test_fakesmtp_SOURCES = test/fakesmtp.c test/server.c 849test_fakesmtp_LDADD = $(POSTLINK) 850 851test_fakehttp_SOURCES = test/fakehttp.c test/server.c 852test_fakehttp_LDADD = $(LDADD) $(POSTLINK) 853 854test_getcwidth_SOURCES = test/getcwidth.c 855test_getcwidth_LDADD = $(POSTLINK) 856 857test_runpty_SOURCES = test/runpty.c 858test_runpty_LDADD = $(POSTLINK) 859 860## 861## Our rebuild rules for files that aren't built via the normal mechanisms 862## 863 864## Hard-code the config/version.c target, instead of using $@, so this 865## rule works for the distcheck target with Solaris (System V) make. 866## distcheck uses VPATH, causes that make to prepend the VPATH to $@. 867config/version.c: Makefile $(srcdir)/config/version.sh 868 env srcdir="$(srcdir)" sh $(srcdir)/config/version.sh $(VERSION) > ./config/version.c 869 870etc/bash_completion_nmh: $(srcdir)/etc/bash_completion_nmh-gen 871 $(srcdir)/etc/bash_completion_nmh-gen > $@ 872 873etc/mts.conf: $(srcdir)/etc/mts.conf.in Makefile 874 @rm -f $@ 875 $(SED) -e 's,%mts%,$(MTS),' \ 876 -e 's,%mailspool%,$(mailspool),' \ 877 -e 's,%smtpserver%,$(smtpserver),' \ 878 -e 's,%default_locking%,$(default_locking),' \ 879 -e 's,%supported_locks%,$(supported_locks),' \ 880 < $(srcdir)/etc/mts.conf.in > $@ 881 882etc/mhn.defaults: $(srcdir)/etc/mhn.defaults.sh $(MHNSEARCHPROG) 883 @rm -f $@ 884 $(srcdir)/etc/mhn.defaults.sh $(MHNSEARCHPATH) $(MHNSEARCHPROG) > $@ 885 886## 887## Use configure to set up default LN, but through a make variable so 888## that it can be overridden at install time. 889## 890LN = @LN@ 891 892## 893## This rule gets called at "make install" time; we use it to create links 894## between different programs. 895## 896install-exec-hook: 897 @rm -f $(DESTDIR)$(bindir)/flists$(EXEEXT) 898 @rm -f $(DESTDIR)$(bindir)/folders$(EXEEXT) 899 @rm -f $(DESTDIR)$(bindir)/fnext$(EXEEXT) 900 @rm -f $(DESTDIR)$(bindir)/fprev$(EXEEXT) 901 @rm -f $(DESTDIR)$(bindir)/unseen$(EXEEXT) 902 @rm -f $(DESTDIR)$(bindir)/prev$(EXEEXT) 903 @rm -f $(DESTDIR)$(bindir)/next$(EXEEXT) 904 $(LN) $(DESTDIR)$(bindir)/flist$(EXEEXT) $(DESTDIR)$(bindir)/flists$(EXEEXT) 905 $(LN) $(DESTDIR)$(bindir)/folder$(EXEEXT) $(DESTDIR)$(bindir)/folders$(EXEEXT) 906 $(LN) $(DESTDIR)$(bindir)/new$(EXEEXT) $(DESTDIR)$(bindir)/fnext$(EXEEXT) 907 $(LN) $(DESTDIR)$(bindir)/new$(EXEEXT) $(DESTDIR)$(bindir)/fprev$(EXEEXT) 908 $(LN) $(DESTDIR)$(bindir)/new$(EXEEXT) $(DESTDIR)$(bindir)/unseen$(EXEEXT) 909 $(LN) $(DESTDIR)$(bindir)/show$(EXEEXT) $(DESTDIR)$(bindir)/prev$(EXEEXT) 910 $(LN) $(DESTDIR)$(bindir)/show$(EXEEXT) $(DESTDIR)$(bindir)/next$(EXEEXT) 911 if test x$(SETGID_MAIL) != x; then \ 912 chgrp $(MAIL_SPOOL_GRP) $(DESTDIR)$(bindir)/inc$(EXEEXT) && \ 913 chmod 2755 $(DESTDIR)$(bindir)/inc$(EXEEXT); \ 914 fi 915 916## 917## Make sure we remove those links at uninstall time 918## 919uninstall-hook: 920 rm -f $(DESTDIR)$(bindir)/flists$(EXEEXT) 921 rm -f $(DESTDIR)$(bindir)/folders$(EXEEXT) 922 rm -f $(DESTDIR)$(bindir)/fnext$(EXEEXT) 923 rm -f $(DESTDIR)$(bindir)/fprev$(EXEEXT) 924 rm -f $(DESTDIR)$(bindir)/unseen$(EXEEXT) 925 rm -f $(DESTDIR)$(bindir)/prev$(EXEEXT) 926 rm -f $(DESTDIR)$(bindir)/next$(EXEEXT) 927 928## 929## Our rules to build our internal libraries (libmh.a, libmts.a) 930## 931sbr_libmh_a_SOURCES = \ 932 config/config.c \ 933 config/version.c \ 934 sbr/addrsbr.c \ 935 sbr/ambigsw.c \ 936 sbr/arglist.c \ 937 sbr/atooi.c \ 938 sbr/base64.c \ 939 sbr/brkstring.c \ 940 sbr/charstring.c \ 941 sbr/check_charset.c \ 942 sbr/client.c \ 943 sbr/closefds.c \ 944 sbr/concat.c \ 945 sbr/context_del.c \ 946 sbr/context_find.c \ 947 sbr/context_foil.c \ 948 sbr/context_read.c \ 949 sbr/context_replace.c \ 950 sbr/context_save.c \ 951 sbr/copyip.c \ 952 sbr/cpydata.c \ 953 sbr/cpydgst.c \ 954 sbr/crawl_folders.c \ 955 sbr/credentials.c \ 956 sbr/ctype-checked.c \ 957 sbr/datetime.c \ 958 sbr/discard.c \ 959 sbr/done.c \ 960 sbr/dtime.c \ 961 sbr/dtimep.l \ 962 sbr/encode_rfc2047.c \ 963 sbr/error.c \ 964 sbr/escape_addresses.c \ 965 sbr/ext_hook.c \ 966 sbr/fdcompare.c \ 967 sbr/fmt_addr.c \ 968 sbr/fmt_compile.c \ 969 sbr/fmt_new.c \ 970 sbr/fmt_rfc2047.c \ 971 sbr/fmt_scan.c \ 972 sbr/folder_addmsg.c \ 973 sbr/folder_delmsgs.c \ 974 sbr/folder_free.c \ 975 sbr/folder_pack.c \ 976 sbr/folder_read.c \ 977 sbr/folder_realloc.c \ 978 sbr/getarguments.c \ 979 sbr/getcpy.c \ 980 sbr/geteditor.c \ 981 sbr/getfolder.c \ 982 sbr/getpass.c \ 983 sbr/icalendar.l \ 984 sbr/icalparse.y \ 985 sbr/lock_file.c \ 986 sbr/m_atoi.c \ 987 sbr/m_backup.c \ 988 sbr/m_convert.c \ 989 sbr/m_draft.c \ 990 sbr/m_getfld.c \ 991 sbr/m_gmprot.c \ 992 sbr/m_maildir.c \ 993 sbr/m_mktemp.c \ 994 sbr/m_name.c \ 995 sbr/m_popen.c \ 996 sbr/m_rand.c \ 997 sbr/makedir.c \ 998 sbr/md5.c \ 999 sbr/message_id.c \ 1000 sbr/mf.c \ 1001 sbr/mime_type.c \ 1002 sbr/mts.c \ 1003 sbr/netsec.c \ 1004 sbr/oauth.c \ 1005 sbr/oauth_prof.c \ 1006 sbr/path.c \ 1007 sbr/pidstatus.c \ 1008 sbr/pidwait.c \ 1009 sbr/print_help.c \ 1010 sbr/print_sw.c \ 1011 sbr/print_version.c \ 1012 sbr/push.c \ 1013 sbr/r1bindex.c \ 1014 sbr/read_line.c \ 1015 sbr/read_switch.c \ 1016 sbr/read_switch_multiword.c \ 1017 sbr/read_switch_multiword_via_readline.c \ 1018 sbr/read_yes_or_no_if_tty.c \ 1019 sbr/readconfig.c \ 1020 sbr/refile.c \ 1021 sbr/remdir.c \ 1022 sbr/ruserpass.c \ 1023 sbr/seq_add.c \ 1024 sbr/seq_bits.c \ 1025 sbr/seq_del.c \ 1026 sbr/seq_getnum.c \ 1027 sbr/seq_list.c \ 1028 sbr/seq_nameok.c \ 1029 sbr/seq_print.c \ 1030 sbr/seq_read.c \ 1031 sbr/seq_save.c \ 1032 sbr/seq_setcur.c \ 1033 sbr/seq_setprev.c \ 1034 sbr/seq_setunseen.c \ 1035 sbr/showfile.c \ 1036 sbr/signals.c \ 1037 sbr/smatch.c \ 1038 sbr/snprintb.c \ 1039 sbr/ssequal.c \ 1040 sbr/strindex.c \ 1041 sbr/terminal.c \ 1042 sbr/trimcpy.c \ 1043 sbr/unquote.c \ 1044 sbr/uprf.c \ 1045 sbr/utils.c \ 1046 sbr/vector.c \ 1047 sbr/vfgets.c \ 1048 thirdparty/jsmn/jsmn.c \ 1049 # 1050 1051sbr_libmh_a_LIBADD = $(LIBOBJS) 1052 1053## 1054## Need explicit dependency so that YACC is run before LEX. 1055## 1056sbr/icalendar.c: sbr/icalparse.c 1057 1058## 1059## Because these files use the definitions in the libmh rule below, 1060## they need to be rebuilt if the Makefile changes. 1061## 1062 1063config/sbr_libmh_a-config.$(OBJEXT) sbr/sbr_libmh_a-mts.$(OBJEXT): Makefile 1064 1065sbr_libmh_a_CPPFLAGS = ${AM_CPPFLAGS} -I./sbr \ 1066 -DNMHBINDIR='"$(bindir)"' \ 1067 -DNMHLIBEXECDIR='"$(nmhlibexecdir)"' \ 1068 -DNMHETCDIR='"@nmhetcdirinst@$(nmhetcdir)"' \ 1069 -DNMHDOCDIR='"@docdir@"' \ 1070 -DMAILSPOOL='"$(mailspool)"' \ 1071 -DSENDMAILPATH='"$(sendmailpath)"' 1072 1073mts_libmts_a_SOURCES = mts/smtp/smtp.c 1074 1075## 1076## Our rules for generating man pages (both the rule for man.sed and 1077## the implicit rules for man page generation). 1078## 1079manext1 = 1 1080manext5 = 5 1081manext7 = 7 1082manext8 = 8 1083 1084$(man_MANS): man/man.sed 1085 1086man/man.sed: Makefile 1087 @echo 's,%nmhwarning%,THIS FILE HAS BEEN AUTOMATICALLY GENERATED. DO NOT EDIT.,g' > $@ 1088 @echo 's,%nmhversion%,nmh-$(VERSION),g' >> $@ 1089 @echo 's,%nmhetcdir%,$(nmhetcdir),g' >> $@ 1090 @echo 's,%nmhlibexecdir%,$(nmhlibexecdir),g' >> $@ 1091 @echo 's,%bindir%,$(bindir),g' >> $@ 1092 @echo 's,%docdir%,$(docdir),g' >> $@ 1093 @echo 's,%mandir%,$(mandir),g' >> $@ 1094 @echo 's,%mailspool%,$(mailspool),g' >> $@ 1095 @echo 's,%sendmailpath%,$(sendmailpath),g' >> $@ 1096 @echo 's,%default_locking%,$(default_locking),g' >> $@ 1097 @echo 's,%supported_locks%,$(supported_locks),g' >> $@ 1098 @echo 's,%manext1%,$(manext1),g' >> $@ 1099 @echo 's,%manext5%,$(manext5),g' >> $@ 1100 @echo 's,%manext7%,$(manext7),g' >> $@ 1101 @echo 's,%manext8%,$(manext8),g' >> $@ 1102 @echo '/%mhl_forward%/r $(top_srcdir)/etc/mhl.forward' >> $@ 1103 @echo ' s,%mhl_forward%,,g' >> $@ 1104 @echo '/%mhl_format%/r $(top_srcdir)/etc/mhl.format' >> $@ 1105 @echo ' s,%mhl_format%,,g' >> $@ 1106 @echo '/%mhl_reply%/r $(top_srcdir)/etc/mhl.reply' >> $@ 1107 @echo ' s,%mhl_reply%,,g' >> $@ 1108 1109man/mh-chart.man: $(man_SRCS) 1110 $(srcdir)/man/mh-chart-gen.sh > $@ 1111 1112.man.$(manext1): 1113 $(SED) -f man/man.sed $< > $@ 1114 1115.man.$(manext5): 1116 $(SED) -f man/man.sed $< > $@ 1117 1118.man.$(manext7): 1119 $(SED) -f man/man.sed $< > $@ 1120 1121.man.$(manext8): 1122 $(SED) -f man/man.sed $< > $@ 1123 1124man: $(man_MANS) 1125 1126cleanman: 1127 rm -f $(man_MANS) 1128 1129.PHONY: man cleanman 1130 1131## Don't include commit hashes in ChangeLog. 1132ChangeLog: 1133 @[ -d $(srcdir)/.git ] && (cd $(srcdir); git --no-pager log --abbrev-commit | \ 1134 egrep -v '^commit [0-9a-f]+$$' > $@) || true 1135## Make ChangeLog phony so it will always get regenerated. But don't 1136## fail if we don't have a git repository in order to allow 1137## regeneration of distribution archive or RPM. 1138.PHONY: ChangeLog 1139 1140## 1141## Our RPM build target 1142## 1143rpm: dist 1144 @test -d $(rpmdir)/SOURCES || $(MKDIR_P) $(rpmdir)/SOURCES 1145 @mv -f $(DIST_ARCHIVES) $(rpmdir)/SOURCES 1146 @cp -p VERSION $(rpmdir)/SOURCES 1147 @rpmbuild --define '_topdir $(rpmdir)' \ 1148 --define '_tmppath %{_topdir}/TMP' \ 1149 --define "_sysconfdir $(DESTDIR)$(sysconfdir)" \ 1150 -ba SPECS/nmh.spec 1151.PHONY: rpm 1152 1153 1154## 1155## Use GNU gcov to find the coverage of the test suite. 1156## These targets are not integrated into the other automake 1157## targets because they will be used so infrequently, if at all. 1158## 1159gcov: gcov-rebuild gcov-run gcov-process gcov-report 1160gcov-rebuild: 1161 @echo rebuilding with AM_CFLAGS=--coverage . . . 1162 @(make clean && make AM_CFLAGS=--coverage) > /dev/null 1163gcov-run: 1164 make check AM_CFLAGS=--coverage 1165gcov-process: 1166 @for i in `find . -name '*.gcda'`; do \ 1167 gcov -pro `echo $$i | $(SED) 's%\\(.*\\)/%\\1 %'`; \ 1168 done 1169gcov-report: 1170 @for i in `find . -name '*.gcno'`; do \ 1171 if test -f `echo $$i | sed 's%\.gcno%.gcda%'`; then :; else \ 1172 echo untested: $$i; \ 1173 fi; \ 1174 done 1175gcov-mostlyclean: 1176 @find . -name '*.gcno' -o -name '*.gcda' | xargs rm 1177gcov-clean: gcov-mostlyclean 1178 @find . -name '*.gcov' | xargs rm 1179.PHONY: gcov gcov-rebuild gcov-run gcov-process gcov-report \ 1180 gcov-mostlyclean gcov-clean 1181 1182 1183## 1184## Rules to upload the distribution to savannah 1185## 1186upload: dist 1187 @if test -z "$(SAVANNAH_USERNAME)"; then \ 1188 echo "You need to set SAVANNAH_USERNAME to the your username on savannah.gnu.org." ;\ 1189 echo "You can set it either in your environment or on the make command line."; \ 1190 false; \ 1191 fi 1192 @echo "Did you run 'make distcheck' already?" 1193 @if test -z "$(SKIP_GPG_SIG)"; then \ 1194 echo "Creating GPG signature (set SKIP_GPG_SIG to bypass this step)"; \ 1195 gpg --output $(DIST_ARCHIVES).sig --detach-sig $(DIST_ARCHIVES); \ 1196 fi 1197 @echo "Setting permissions for savannah.gnu.org" 1198 chmod 664 $(DIST_ARCHIVES) 1199 if test -f $(DIST_ARCHIVES).sig; then \ 1200 chmod 664 $(DIST_ARCHIVES).sig; \ 1201 fi 1202 @echo "Uploading to savannah" 1203 scp -p $(DIST_ARCHIVES)* $(SAVANNAH_USERNAME)@dl.sv.nongnu.org:/releases/nmh 1204.PHONY: upload 1205