Greetings, ever since I first checked out mutt from CVS, I was unhappy by the abominance of m4/Makefile.am.in and several other crude auto* code pieces. In order to improve maintainability a bit, I have taken the time to overhaul the build system, assuming that autotools experts are rare and their motivation is even lower. (Most hackers use GNU auto* but are loathe to touch the *.am/*.in/*.m4 files.) These are the changes, fixing a bunch of bugs as I went, and installing Muttrc.dist and mime.types.dist additionally to ease uninstallation. As the changes are interdependent, I have not taken them out individually. Patch attached with text/x-patch MIME type. - install Muttrc and mime.types as *.dist, and on "make uninstall", remove the real files if identical to *.dist. For "make distcheck". Procedures like these are common practice on the *BSD systems. - m4/Makefile.am.in is not needed (a next step might switch prepare over to autoreconf once the po/Makefile.in.in hacks are gone). Replaced it by a real m4/Makefile.am to avoid special treatment. - several obsolete variables in Makefile.am have been updated (INCLUDES -> AM_CPPFLAGS) to fix automake -Wall warnings. Automake 1.4 has been history for many years. - doc/Makefile.in and contrib/Makefile.in lacked several standard targets. Replaced these files by Makefile.am, moving manually coded (un)install and dist targets into variables or appropriate -local and -hook targets. This gives the user all standard targets and helps fix "make distcheck" to see if the distribution is self-contained. ("make distcheck" should become part of the build-release script) Good side effect: ./configure && make dist now works without prior "make all" (is broken in current CVS). - list files to (dist)clean properly, needed for "make distcheck" - dropped bogus Makefile: $(BUILT_SOURCES) dependency (if you think this was needed, check with automake 1.9 and dependency tracking enabled, i. e. run: "automake && ./config.status" and see for yourself) - add two hacks to get "make distcheck" working (see TODO below): + make srcdir writable and trash keymap_alldefs.h when building it + dito in po/Makefile.in.in for mutt.pot I think these additional CVS commands are needed *before* the commit: patch <tidy-buildsystem-20060717.patch cvs rm -f m4/Makefile.am.in doc/Makefile.in contrib/Makefile.in cvs add m4/Makefile.am doc/Makefile.am contrib/Makefile.am Be sure not to run "cvs update" or "make" between patching and the cvs rm, to avoid files reappearing. TODO in later revisions (I haven't listed these in TODO, let me know if you want an incremental patch to do that). - get rid of the ugly automake "-i" unless "./prepare -dev ..." is run. If somebody checks the code out from CVS, it can safely be assumed that dependency tracking and maintainer mode are desired. - get rid of the keymap_alldefs.h hack. Probably yet another dependency or distfiles bug I've not yet found. - get rid of po/Makefile.in.in hacks so that the original gettext Makefile.in.in works. Same suspicion. - include "make distcheck" and other safety nets into build-release. BTW, does anyone have a good workflow and/or tool suggestion for tracking cvs rm and cvs add for a read-only CVS repo? -- Matthias Andree
diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/Makefile.am b/mutt-1.5.12/Makefile.am --- a/mutt-1.5.12/Makefile.am 2006-07-04 19:11:03.000000000 +0200 +++ b/mutt-1.5.12/Makefile.am 2006-07-17 23:15:54.000000000 +0200 @@ -18,7 +18,7 @@ bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@ mutt_SOURCES = $(BUILT_SOURCES) \ addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \ - crypt.c cryptglue.c \ + crypt.c cryptglue.c \ commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \ edit.c enter.c flags.c init.c filter.c from.c \ getdomain.c group.c \ @@ -42,7 +42,7 @@ makedoc_DEPENDENCIES = # $(makedoc_OBJECTS): $(makedoc_SOURCES) -# $(HOST_CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $< +# $(HOST_CC) $(DEFS) $(AM_CPPFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -c $< # makedoc: $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES) # @rm -rf makedoc @@ -54,7 +54,7 @@ -DBINDIR=\"$(bindir)\" -DMUTTLOCALEDIR=\"$(datadir)/locale\" \ -DHAVE_CONFIG_H=1 -INCLUDES=-I. -I$(top_srcdir) $(IMAP_INCLUDES) $(LIBGPGME_CFLAGS) -Iintl +AM_CPPFLAGS=-I. -I$(top_srcdir) $(IMAP_INCLUDES) $(LIBGPGME_CFLAGS) -Iintl CPPFLAGS=@CPPFLAGS@ -I$(includedir) @@ -99,6 +99,8 @@ keymap_alldefs.h keymap_defs.h patchlist.c \ reldate.h +DISTCLEANFILES= flea Muttrc smime_keys + ACLOCAL_AMFLAGS = -I m4 LDADD = @LIBOBJS@ @INTLLIBS@ @@ -113,12 +115,12 @@ cp $(srcdir)/smime_keys.pl smime_keys chmod +x smime_keys -Makefile: $(BUILT_SOURCES) - keymap_defs.h: $(OPS) $(srcdir)/gen_defs $(srcdir)/gen_defs $(OPS) > keymap_defs.h -keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs +$(srcdir)/keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs + chmod u+w $(srcdir) + rm -f $@ $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.PGP \ $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \ > $(srcdir)/keymap_alldefs.h @@ -142,6 +144,8 @@ install-data-local: Muttrc $(srcdir)/mkinstalldirs $(DESTDIR)$(sysconfdir) + $(INSTALL) -m644 Muttrc $(DESTDIR)$(sysconfdir)/Muttrc.dist + $(INSTALL) -m644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir)/mime.types.dist -if [ -f $(DESTDIR)$(pkgdatadir)/Muttrc ] ; then \ mv $(DESTDIR)$(pkgdatadir)/Muttrc* $(DESTDIR)$(sysconfdir) ; \ elif [ -f $(DESTDIR)$(pkgdatadir)/../Muttrc ] ; then \ @@ -153,6 +157,13 @@ $(INSTALL) -m 644 $(srcdir)/mime.types $(DESTDIR)$(sysconfdir); \ fi +uninstall-local: + for i in Muttrc mime.types ; do \ + if cmp -s $(DESTDIR)$(sysconfdir)/$$i.dist $(DESTDIR)$(sysconfdir)/$$i ; then \ + rm $(DESTDIR)$(sysconfdir)/$$i ; \ + fi ; \ + rm $(DESTDIR)$(sysconfdir)/$${i}.dist ; \ + done # Don't make this one ChangeLog - it's intended to be # used manually. @@ -192,7 +203,7 @@ stamp-doc-rc: $(srcdir)/init.h makedoc Muttrc.head -rm -f Muttrc stamp-doc-rc - $(CPP) $(INCLUDES) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \ + $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \ $(srcdir)/init.h | ./makedoc -c | cat Muttrc.head - > Muttrc touch stamp-doc-rc diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/contrib/Makefile.am b/mutt-1.5.12/contrib/Makefile.am --- a/mutt-1.5.12/contrib/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ b/mutt-1.5.12/contrib/Makefile.am 2006-07-17 22:29:28.000000000 +0200 @@ -0,0 +1,39 @@ +# $Id: Makefile.in,v 3.5 2006/01/26 07:13:06 brendan Exp $ + +subdir = contrib + +SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \ + sample.muttrc sample.mailcap sample.muttrc-tlr \ + colors.default colors.linux smime.rc \ + ca-bundle.crt smime_keys_test.pl + +EXTRA_DIST = language.txt language50.txt \ + patch.slang-1.2.2.keypad.1 \ + $(SAMPLES) \ + iconv/README \ + iconv/make.sh + +install-data-local: + $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir)/samples $(DESTDIR)$(docdir)/samples/iconv + for f in $(SAMPLES) ; do \ + $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir)/samples ; \ + done + for f in $(srcdir)/iconv/*.rc ; do \ + $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir)/samples/iconv ; \ + done + +uninstall-local: + for f in $(SAMPLES) ; do \ + rm -f $(DESTDIR)$(docdir)/samples/$$f ; \ + done + -rm -rf $(DESTDIR)$(docdir)/samples/iconv + -rmdir $(DESTDIR)$(docdir)/samples + -rmdir $(DESTDIR)$(docdir) + +distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) +dist-hook: Makefile $(DISTFILES) + mkdir -p $(distdir)/iconv + for file in $(srcdir)/iconv/*.rc ; do \ + ln $$file $(distdir)/iconv 2> /dev/null \ + || cp -p $$file $(distdir)/iconv ; \ + done diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/contrib/Makefile.in b/mutt-1.5.12/contrib/Makefile.in --- a/mutt-1.5.12/contrib/Makefile.in 2006-01-26 08:13:06.000000000 +0100 +++ b/mutt-1.5.12/contrib/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,79 +0,0 @@ -# $Id: Makefile.in,v 3.5 2006/01/26 07:13:06 brendan Exp $ - -SHELL = /bin/sh - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -libdir = @libdir@ -datarootdir = @datarootdir@ -mandir = @mandir@ -srcdir = @srcdir@ -docdir = @docdir@ -top_srcdir = @top_srcdir@ -top_builddir = .. -INSTALL = @INSTALL@ -VPATH = @srcdir@ -@SET_MAKE@ - -subdir = contrib - -SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \ - sample.muttrc sample.mailcap sample.muttrc-tlr \ - colors.default colors.linux smime.rc \ - ca-bundle.crt smime_keys_test.pl - -DISTFILES = Makefile.in language.txt language50.txt \ - patch.slang-1.2.2.keypad.1 \ - $(SAMPLES) - -ICONV_DISTFILES = README make.sh - -all clean: - -distclean: - -rm -f Makefile - -check: - -install: - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir)/samples $(DESTDIR)$(docdir)/samples/iconv - for f in $(SAMPLES) ; do \ - $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir)/samples ; \ - done - for f in $(srcdir)/iconv/*.rc ; do \ - $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir)/samples/iconv ; \ - done - -uninstall: - for f in $(SAMPLES) ; do \ - rm -f $(DESTDIR)$(docdir)/samples/$$f ; \ - done - -rm -rf $(DESTDIR)$(docdir)/samples/iconv - -rmdir $(DESTDIR)$(docdir)/samples - -rmdir $(DESTDIR)$(docdir) - -maintainer-clean: distclean - -Makefile: ../config.status Makefile.in - cd .. \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: Makefile $(DISTFILES) - for file in $(DISTFILES) ; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - mkdir -p $(distdir)/iconv - for file in $(ICONV_DISTFILES) ; do \ - ln $(srcdir)/iconv/$$file $(distdir)/iconv 2> /dev/null \ - || cp -p $(srcdir)/iconv/$$file $(distdir)/iconv; \ - done - for file in $(srcdir)/iconv/*.rc ; do \ - ln $$file $(distdir)/iconv 2> /dev/null \ - || cp -p $$file $(distdir)/iconv ; \ - done diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/doc/Makefile.am b/mutt-1.5.12/doc/Makefile.am --- a/mutt-1.5.12/doc/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ b/mutt-1.5.12/doc/Makefile.am 2006-07-17 23:16:06.000000000 +0200 @@ -0,0 +1,138 @@ +# $Id: Makefile.in,v 3.25 2006/07/17 18:40:26 brendan Exp $ + +subdir = doc + +DSLROOT = @DSLROOT@ + +DEFS = -DSYSCONFDIR=\"$(sysconfdir)\" -DBINDIR=\"$(bindir)\" -DHAVE_CONFIG_H=1 +AM_CPPFLAGS = -I. -I.. -I$(includedir) -I$(top_srcdir) + +MAKEDOC_CPP = $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C + +EXTRA_DIST = dotlock.man \ + muttbug.man \ + mutt.man \ + PGP-Notes.txt \ + applying-patches.txt \ + devel-notes.txt \ + muttrc.man.head \ + muttrc.man.tail \ + mbox.man \ + mmdf.man \ + manual.xml.head \ + manual.xml.tail \ + instdoc.sh.in \ + patch-notes.txt \ + smime-notes.txt \ + html.xsl chunk.xsl $(BUILT_DISTFILES) + +HTML_DOCFILES = manual.html index.html intro.html gettingstarted.html \ + configuration.html mimesupport.html advancedusage.html \ + reference.html miscellany.html + +BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES) + +srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt \ + devel-notes.txt patch-notes.txt smime-notes.txt + +topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog \ + ChangeLog.old \ + README NEWS TODO README.SECURITY README.SSL + +all: ../makedoc$(EXEEXT) + $(MAKE) makedoc-all + +makedoc-all: mutt.1 muttrc.man manual.html stamp-doc-chunked manual.txt + +install-data-local: makedoc-all instdoc + $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1 + $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man5 + ./instdoc mutt.1 $(DESTDIR)$(mandir)/man1/mutt.1 + ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/flea.1 + ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttbug.1 + ./instdoc $(srcdir)/dotlock.man \ + $(DESTDIR)$(mandir)/man1/mutt_dotlock.1 + ./instdoc muttrc.man $(DESTDIR)$(mandir)/man5/muttrc.5 + ./instdoc $(srcdir)/mbox.man $(DESTDIR)$(mandir)/man5/mbox.5 + ./instdoc $(srcdir)/mmdf.man $(DESTDIR)$(mandir)/man5/mmdf.5 + $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir) + for f in $(topsrcdir_DOCFILES) ; do \ + $(INSTALL) -m 644 $(top_srcdir)/$$f $(DESTDIR)$(docdir) ; \ + done + for f in $(srcdir_DOCFILES) ; do \ + $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \ + done + -$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir) + -for f in $(HTML_DOCFILES) ; do \ + $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir) ; \ + done + +uninstall-local: + for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 ; do \ + rm -f $(DESTDIR)$(mandir)/man1/$$f ; \ + done + for f in muttrc.5 mbox.5 mmdf.5 ; do \ + rm -f $(DESTDIR)$(mandir)/man5/$$f ; \ + done + for f in $(srcdir_DOCFILES) $(topsrcdir_DOCFILES) $(HTML_DOCFILES) ; \ + do \ + rm -f $(DESTDIR)$(docdir)/$$f ; \ + done + -rm -f $(DESTDIR)$(docdir)/manual.txt + +check: +manual.txt: manual.html + -lynx -dump -nolist -with_backspaces $^ > $@ || w3m -dump $^ > $@ + +manual.html: $(srcdir)/html.xsl stamp-doc-xml + -xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml + +stamp-doc-chunked: $(srcdir)/chunk.xsl stamp-doc-xml + -xsltproc --nonet $(srcdir)/chunk.xsl manual.xml + touch stamp-doc-chunked + +manual.pdf: manual.tex + -if test -f manual.tex; then pdfjadetex manual.tex; fi + +manual.tex: stamp-doc-xml + -if test -n "$(DSLROOT)"; then \ + openjade -t tex -D $(DSLROOT) -d print/docbook.dsl dtds/decls/xml.dcl manual.xml; \ + fi + +clean-local: + rm -f *~ *.html *.orig *.rej stamp-doc-* *.ps mutt.1 muttrc.man + rm -f *.aux *.log *.tex *.out + +DISTCLEANFILES=manual.txt manual.html manual.xml manual.pdf html instdoc + +instdoc: instdoc.sh + cat instdoc.sh > instdoc + chmod a+x instdoc + +../makedoc$(EXEEXT): $(top_srcdir)/makedoc.c + (cd .. && $(MAKE) makedoc$(EXEEXT)) + +../reldate.h: + (cd .. && $(MAKE) reldate.h) + +update-doc: stamp-doc-xml stamp-doc-chunked manual.txt manual.html + +muttrc.man: ../makedoc$(EXEEXT) $(top_srcdir)/init.h muttrc.man.head muttrc.man.tail + $(MAKEDOC_CPP) $(top_srcdir)/init.h | ../makedoc -m | \ + cat $(srcdir)/muttrc.man.head - $(srcdir)/muttrc.man.tail\ + > muttrc.man + +EDIT = sed -e 's,@sysconfdir\@,$(sysconfdir),g' \ + -e 's,@bindir\@,$(bindir),g' \ + -e 's,@docdir\@,$(docdir),g' + +mutt.1: $(srcdir)/mutt.man + $(EDIT) $(srcdir)/mutt.man > $@ + +stamp-doc-xml: $(top_srcdir)/makedoc.c $(top_srcdir)/init.h manual.xml.head manual.xml.tail \ + $(top_srcdir)/VERSION ../reldate.h + $(MAKE) ../makedoc$(EXEEXT) + ( sed -e "s/@VERSION\@/`cat $(top_srcdir)/VERSION` (`cut -d\\\" -f2 ../reldate.h`)/" $(srcdir)/manual.xml.head ;\ + $(MAKEDOC_CPP) $(top_srcdir)/init.h | ../makedoc -s ) | \ + cat - $(srcdir)/manual.xml.tail > manual.xml + touch stamp-doc-xml diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/doc/Makefile.in b/mutt-1.5.12/doc/Makefile.in --- a/mutt-1.5.12/doc/Makefile.in 2006-07-17 20:40:26.000000000 +0200 +++ b/mutt-1.5.12/doc/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,193 +0,0 @@ -# $Id: Makefile.in,v 3.25 2006/07/17 18:40:26 brendan Exp $ - -SHELL = /bin/sh - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -sysconfdir = @sysconfdir@ -bindir = @bindir@ -libdir = @libdir@ -mandir = @mandir@ -srcdir = @srcdir@ -docdir = @docdir@ -includedir = @includedir@ -top_srcdir=@top_srcdir@ -top_builddir = .. -VPATH = @srcdir@ -@SET_MAKE@ - -INSTALL = @INSTALL@ -CC = @CC@ -CPP = @CPP@ -EXEEXT = @EXEEXT@ -XCPPFLAGS = -I. @CPPFLAGS@ -CFLAGS = @CFLAGS@ $(XCPPFLAGS) -LDFLAGS = @LDFLAGS@ -subdir = doc - -CPPFLAGS = @CPPFLAGS@ - -DSLROOT = @DSLROOT@ - -DEFS = -DSYSCONFDIR=\"$(sysconfdir)\" -DBINDIR=\"$(bindir)\" -DHAVE_CONFIG_H=1 -INCLUDES = -I. -I.. -I$(includedir) -I$(top_srcdir) - -MAKEDOC_CPP = $(CPP) $(INCLUDES) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C - -DISTFILES = Makefile.in dotlock.man \ - muttbug.man \ - mutt.man \ - PGP-Notes.txt \ - applying-patches.txt \ - devel-notes.txt \ - muttrc.man.head \ - muttrc.man.tail \ - mbox.man \ - mmdf.man \ - manual.xml.head \ - manual.xml.tail \ - instdoc.sh.in \ - patch-notes.txt \ - smime-notes.txt \ - html.xsl chunk.xsl - -HTML_DOCFILES = manual.html index.html intro.html gettingstarted.html \ - configuration.html mimesupport.html advancedusage.html \ - reference.html miscellany.html - -BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES) - -srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt \ - devel-notes.txt patch-notes.txt smime-notes.txt - -topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog \ - ChangeLog.old \ - README NEWS TODO README.SECURITY README.SSL - -all: ../makedoc$(EXEEXT) - $(MAKE) makedoc-all - -makedoc-all: mutt.1 muttrc.man manual.html stamp-doc-chunked manual.txt - -install: makedoc-all instdoc - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1 - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man5 - ./instdoc mutt.1 $(DESTDIR)$(mandir)/man1/mutt.1 - ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/flea.1 - ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttbug.1 - ./instdoc $(srcdir)/dotlock.man \ - $(DESTDIR)$(mandir)/man1/mutt_dotlock.1 - ./instdoc muttrc.man $(DESTDIR)$(mandir)/man5/muttrc.5 - ./instdoc $(srcdir)/mbox.man $(DESTDIR)$(mandir)/man5/mbox.5 - ./instdoc $(srcdir)/mmdf.man $(DESTDIR)$(mandir)/man5/mmdf.5 - $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir) - for f in $(topsrcdir_DOCFILES) ; do \ - $(INSTALL) -m 644 $(top_srcdir)/$$f $(DESTDIR)$(docdir) ; \ - done - for f in $(srcdir_DOCFILES) ; do \ - $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \ - done - -$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir) - -for f in $(HTML_DOCFILES) ; do \ - $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir) ; \ - done - -uninstall: - for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 ; do \ - rm -f $(DESTDIR)$(mandir)/man1/$$f ; \ - done - for f in muttrc.5 mbox.5 mmdf.5 ; do \ - rm -f $(DESTDIR)$(mandir)/man5/$$f ; \ - done - for f in $(srcdir_DOCFILES) $(topsrcdir_DOCFILES) $(HTML_DOCFILES) ; \ - do \ - rm -f $(DESTDIR)$(docdir)/$$f ; \ - done - -rm -f $(DESTDIR)$(docdir)/manual.txt - -check: -manual.txt: manual.html - -lynx -dump -nolist -with_backspaces $^ > $@ || w3m -dump $^ > $@ - -manual.html: $(srcdir)/html.xsl stamp-doc-xml - -xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml - -stamp-doc-chunked: $(srcdir)/chunk.xsl stamp-doc-xml - -xsltproc --nonet $(srcdir)/chunk.xsl manual.xml - touch stamp-doc-chunked - -manual.pdf: manual.tex - -if test -f manual.tex; then pdfjadetex manual.tex; fi - -manual.tex: stamp-doc-xml - -if test -n "$(DSLROOT)"; then \ - openjade -t tex -D $(DSLROOT) -d print/docbook.dsl dtds/decls/xml.dcl manual.xml; \ - fi - -clean: - rm -f *~ *.html *.orig *.rej stamp-doc-* *.ps mutt.1 muttrc.man - rm -f *.aux *.log *.tex *.out - -clean-real: - rm -f manual.txt manual.html manual.xml manual.pdf - rm -rf html - -maintainer-clean: clean clean-real distclean - -distclean: clean - rm -f Makefile - -Makefile: Makefile.in ../config.status - cd .. \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -instdoc: instdoc.sh - cat instdoc.sh > instdoc - chmod a+x instdoc - -instdoc.sh: instdoc.sh.in ../config.status - cd .. \ - && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: Makefile $(DISTFILES) - for file in $(DISTFILES) ; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - for file in $(BUILT_DISTFILES) ; do \ - ln $$file $(distdir) 2> /dev/null \ - || cp -p $$file $(distdir) ; \ - done - -../makedoc$(EXEEXT): $(top_srcdir)/makedoc.c - (cd .. && $(MAKE) makedoc$(EXEEXT)) - -../reldate.h: - (cd .. && $(MAKE) reldate.h) - -update-doc: stamp-doc-xml stamp-doc-chunked manual.txt manual.html - -muttrc.man: ../makedoc$(EXEEXT) $(top_srcdir)/init.h muttrc.man.head muttrc.man.tail - $(MAKEDOC_CPP) $(top_srcdir)/init.h | ../makedoc -m | \ - cat $(srcdir)/muttrc.man.head - $(srcdir)/muttrc.man.tail\ - > muttrc.man - -EDIT = sed -e 's,@sysconfdir\@,$(sysconfdir),g' \ - -e 's,@bindir\@,$(bindir),g' \ - -e 's,@docdir\@,$(docdir),g' - -mutt.1: $(srcdir)/mutt.man - $(EDIT) $(srcdir)/mutt.man > $@ - -stamp-doc-xml: $(top_srcdir)/makedoc.c $(top_srcdir)/init.h manual.xml.head manual.xml.tail \ - $(top_srcdir)/VERSION ../reldate.h - $(MAKE) ../makedoc$(EXEEXT) - ( sed -e "s/@VERSION\@/`cat $(top_srcdir)/VERSION` (`cut -d\\\" -f2 ../reldate.h`)/" $(srcdir)/manual.xml.head ;\ - $(MAKEDOC_CPP) $(top_srcdir)/init.h | ../makedoc -s ) | \ - cat - $(srcdir)/manual.xml.tail > manual.xml - touch stamp-doc-xml diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/imap/Makefile.am b/mutt-1.5.12/imap/Makefile.am --- a/mutt-1.5.12/imap/Makefile.am 2005-02-12 22:04:22.000000000 +0100 +++ b/mutt-1.5.12/imap/Makefile.am 2006-07-17 22:04:14.000000000 +0200 @@ -16,7 +16,7 @@ EXTRA_DIST = BUGS README TODO auth_anon.c auth_cram.c auth_gss.c auth_sasl.c -INCLUDES = -I$(top_srcdir) -I../intl +AM_CPPFLAGS = -I$(top_srcdir) -I../intl noinst_LIBRARIES = libimap.a noinst_HEADERS = auth.h imap_private.h message.h diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/m4/Makefile.am b/mutt-1.5.12/m4/Makefile.am --- a/mutt-1.5.12/m4/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ b/mutt-1.5.12/m4/Makefile.am 2006-07-17 22:54:23.000000000 +0200 @@ -0,0 +1,6 @@ +EXTRA_DIST = README + +dist-hook: + for i in $(srcdir)/*.m4 ; do \ + echo cp -p $$i $(distdir) ; \ + done diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/m4/Makefile.am.in b/mutt-1.5.12/m4/Makefile.am.in --- a/mutt-1.5.12/m4/Makefile.am.in 2002-01-24 14:36:31.000000000 +0100 +++ b/mutt-1.5.12/m4/Makefile.am.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -## Process this file with automake to produce Makefile.in -*-Makefile-*- - -##m4-files-begin -##m4-files-end - -Makefile.am: Makefile.am.in - rm -f $@ $@t - sed -n '1,/^##m4-files-begin/p' Makefile.am.in > $@t - ( (echo EXTRA_DIST = README Makefile.am.in | tr '\012' @); \ - (echo *.m4|tr ' ' @) ) \ - |sed 's/@$$/%/;s/@/ \\@/g' |tr @% '\012\012' \ - >> $@t - sed -n '/^##m4-files-end/,$$p' Makefile.am.in >> $@t - chmod a-w $@t - mv $@t $@ diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/m4/README b/mutt-1.5.12/m4/README --- a/mutt-1.5.12/m4/README 2002-01-24 14:36:32.000000000 +0100 +++ b/mutt-1.5.12/m4/README 2006-07-17 22:55:08.000000000 +0200 @@ -2,7 +2,3 @@ package). aclocal uses these files to create aclocal.m4 which is in turn used by autoconf to create the configure script at the the top level in this distribution. - -The Makefile.am file in this directory is automatically generated -from the template file, Makefile.am.in. - diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/po/Makefile.in.in b/mutt-1.5.12/po/Makefile.in.in --- a/mutt-1.5.12/po/Makefile.in.in 2005-09-16 17:20:59.000000000 +0200 +++ b/mutt-1.5.12/po/Makefile.in.in 2006-07-17 23:11:29.000000000 +0200 @@ -86,6 +86,8 @@ # have been downloaded. $(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in + chmod u+w $(srcdir) + rm -f $@ $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ --add-comments --keyword=_ --keyword=N_ \ --files-from=$(srcdir)/POTFILES.in \ diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/prepare b/mutt-1.5.12/prepare --- a/mutt-1.5.12/prepare 2004-09-07 10:09:39.000000000 +0200 +++ b/mutt-1.5.12/prepare 2006-07-17 21:44:45.000000000 +0200 @@ -7,7 +7,7 @@ include_deps="-i" fi -if aclocal -I m4 && autoheader && (cd m4 && make -f Makefile.am.in ) \ +if aclocal -I m4 && autoheader \ && automake $include_deps && autoconf && ./configure "$@" then echo diff --exclude '*.html' --exclude '*.txt' --exclude Muttrc --exclude '*.pot' -Nur a/mutt-1.5.12/build-release b/mutt-1.5.12/build-release --- a/mutt-1.5.12/build-release 18 May 2006 08:53:31 -0000 +++ b/mutt-1.5.12/build-release 17 Jul 2006 22:22:11 -0000 @@ -50,7 +50,6 @@ # now, prepare the distribution tar balls -(cd m4 && rm -f Makefile Makefile.in Makefile.am && make -f Makefile.am.in) automake touch configure.in make config.status
Attachment:
pgpgXcghxN5R0.pgp
Description: PGP signature