<<< Date Index >>>     <<< Thread Index >>>

[PATCH] Build system cleanup, take #1



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