mutt stable branch with some hacks
at jcs 245 lines 9.0 kB view raw
1## Process this file with automake to produce Makefile.in 2include $(top_srcdir)/flymake.am 3 4AUTOMAKE_OPTIONS = 1.6 foreign 5 6subdir = doc 7 8if BUILD_INFO 9INFO_DOCFILES = mutt.info 10endif 11if BUILD_DOC 12BUILD_DOC_TARGETS = stamp-doc-chunked manual.html manual.txt $(INFO_DOCFILES) 13endif 14 15DEFS = -DSYSCONFDIR=\"$(sysconfdir)\" -DBINDIR=\"$(bindir)\" -DHAVE_CONFIG_H=1 16AM_CPPFLAGS = -I. -I.. -I$(includedir) -I$(top_srcdir) 17 18MAKEDOC_CPP = $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C 19 20noinst_PROGRAMS = makedoc 21 22EXTRA_DIST = dotlock.man \ 23 smime_keys.man \ 24 mutt.man \ 25 pgpewrap.man \ 26 pgpring.man \ 27 PGP-Notes.txt \ 28 applying-patches.txt \ 29 devel-notes.txt \ 30 gen-map-doc \ 31 muttrc.man.head \ 32 muttrc.man.tail \ 33 mbox.man \ 34 mmdf.man \ 35 manual.xml.head \ 36 manual.xml.tail \ 37 instdoc.sh.in \ 38 patch-notes.txt \ 39 smime-notes.txt \ 40 Muttrc Muttrc.head stamp-doc-rc \ 41 makedoc.c makedoc-defs.h \ 42 mutt.css mutt.xsl html.xsl chunk.xsl $(BUILT_DISTFILES) 43 44CHUNKED_DOCFILES = index.html intro.html gettingstarted.html \ 45 configuration.html mimesupport.html advancedusage.html \ 46 optionalfeatures.html security.html tuning.html reference.html miscellany.html 47 48HTML_DOCFILES = manual.html $(CHUNKED_DOCFILES) 49 50BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES) $(INFO_DOCFILES) 51 52srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt \ 53 devel-notes.txt patch-notes.txt smime-notes.txt 54 55topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog \ 56 README NEWS TODO README.SECURITY README.SSL 57 58all: makedoc-all 59 60makedoc-all: mutt.1 smime_keys.1 muttrc.man stamp-doc-rc pgpewrap.1 mutt_pgpring.1 $(BUILD_DOC_TARGETS) 61 62install-data-local: makedoc-all instdoc 63 $(MKDIR_P) $(DESTDIR)$(mandir)/man1 64 $(MKDIR_P) $(DESTDIR)$(mandir)/man5 65 $(MKDIR_P) $(DESTDIR)$(sysconfdir) 66 ./instdoc mutt.1 $(DESTDIR)$(mandir)/man1/mutt.1 67 ./instdoc smime_keys.1 $(DESTDIR)$(mandir)/man1/smime_keys.1 68 ./instdoc pgpewrap.1 $(DESTDIR)$(mandir)/man1/pgpewrap.1 69 ./instdoc mutt_pgpring.1 $(DESTDIR)$(mandir)/man1/mutt_pgpring.1 70 test x$(DOTLOCK_TARGET) = x || ./instdoc $(srcdir)/dotlock.man \ 71 $(DESTDIR)$(mandir)/man1/mutt_dotlock.1 72 ./instdoc muttrc.man $(DESTDIR)$(mandir)/man5/muttrc.5 73 ./instdoc $(srcdir)/mbox.man $(DESTDIR)$(mandir)/man5/mbox.5 74 ./instdoc $(srcdir)/mmdf.man $(DESTDIR)$(mandir)/man5/mmdf.5 75 $(MKDIR_P) $(DESTDIR)$(docdir) 76 for f in $(topsrcdir_DOCFILES) ; do \ 77 $(INSTALL) -m 644 $(top_srcdir)/$$f $(DESTDIR)$(docdir) ; \ 78 done 79 for f in $(srcdir_DOCFILES) ; do \ 80 $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \ 81 done 82 -if [ -f manual.txt ] ; then \ 83 $(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir) ; \ 84 fi 85 -for f in $(HTML_DOCFILES) ; do \ 86 if [ -f $$f ] ; then \ 87 $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir) ; \ 88 fi \ 89 done 90 $(INSTALL) -m 644 Muttrc $(DESTDIR)$(sysconfdir)/Muttrc.dist 91 -if [ -f $(DESTDIR)$(pkgdatadir)/Muttrc ] ; then \ 92 mv $(DESTDIR)$(pkgdatadir)/Muttrc* $(DESTDIR)$(sysconfdir) ; \ 93 elif [ -f $(DESTDIR)$(pkgdatadir)/../Muttrc ] ; then \ 94 mv $(DESTDIR)$(pkgdatadir)/../Muttrc* $(DESTDIR)$(sysconfdir) ; \ 95 elif [ ! -f $(DESTDIR)$(sysconfdir)/Muttrc ] ; then \ 96 $(INSTALL) -m 644 Muttrc $(DESTDIR)$(sysconfdir) ; \ 97 fi 98 -if [ -f mutt.info ] ; then \ 99 $(MKDIR_P) $(DESTDIR)$(infodir) ; \ 100 $(INSTALL) -m 644 mutt.info $(DESTDIR)$(infodir) ; \ 101 if command -v install-info >/dev/null 2>&1 ; then \ 102 install-info $(DESTDIR)$(infodir)/mutt.info $(DESTDIR)$(infodir)/dir ; \ 103 fi \ 104 fi 105 106uninstall-local: 107 for f in mutt.1 mutt_dotlock.1 smime_keys.1 pgpewrap.1 mutt_pgpring.1; do \ 108 rm -f $(DESTDIR)$(mandir)/man1/$$f ; \ 109 done 110 for f in muttrc.5 mbox.5 mmdf.5 ; do \ 111 rm -f $(DESTDIR)$(mandir)/man5/$$f ; \ 112 done 113 for f in $(srcdir_DOCFILES) $(topsrcdir_DOCFILES) $(HTML_DOCFILES) ; \ 114 do \ 115 rm -f $(DESTDIR)$(docdir)/$$f ; \ 116 done 117 -rm -f $(DESTDIR)$(docdir)/manual.txt 118 for i in Muttrc ; do \ 119 if cmp -s $(DESTDIR)$(sysconfdir)/$$i.dist $(DESTDIR)$(sysconfdir)/$$i ; then \ 120 rm -f $(DESTDIR)$(sysconfdir)/$$i ; \ 121 fi ; \ 122 rm -f $(DESTDIR)$(sysconfdir)/$${i}.dist ; \ 123 done 124 -if [ -f $(DESTDIR)$(infodir)/mutt.info ] ; then \ 125 if command -v install-info >/dev/null 2>&1 ; then \ 126 install-info --delete $(DESTDIR)$(infodir)/mutt.info $(DESTDIR)$(infodir)/dir ; \ 127 fi ; \ 128 rm -f $(DESTDIR)$(infodir)/mutt.info ; \ 129 fi 130 131check: 132manual.txt: manual.html 133 -LC_ALL=C lynx -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \ 134 LC_ALL=C w3m -dump manual.html > $@ || \ 135 LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@ 136 137Muttrc: stamp-doc-rc 138 139stamp-doc-rc: $(top_srcdir)/init.h makedoc$(EXEEXT) $(srcdir)/Muttrc.head 140 -rm -f Muttrc stamp-doc-rc 141 sed -e 's,[@]docdir[@],$(docdir),' $(srcdir)/Muttrc.head > Muttrc 142 $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \ 143 $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -c >> Muttrc 144 touch stamp-doc-rc 145 146manual.html: $(srcdir)/html.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css 147 -xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml 148 149stamp-doc-chunked: $(srcdir)/chunk.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css 150 -xsltproc --nonet $(srcdir)/chunk.xsl manual.xml 151 touch stamp-doc-chunked 152 153$(CHUNKED_DOCFILES): stamp-doc-chunked 154 155manual.pdf: manual.tex 156 -if test -f manual.tex; then pdfjadetex manual.tex; pdfjadetex manual.tex; pdfjadetex manual.tex; fi 157 158# Note / Request For Help: 159# On Debian, the below invocation of openjade is not working for me. 160# I was able to generate manual.tex by instead running: 161# openjade -t tex -D $(DSLROOT) -d print/docbook.dsl \ 162# -i xml /usr/share/xml/declaration/xml.dcl manual.xml 163# However, being completely unfamiliar with these tools, am unsure how to 164# make this portable. 165manual.tex: stamp-doc-xml 166 -if test -n "$(DSLROOT)"; then \ 167 openjade -t tex -D $(DSLROOT) -d print/docbook.dsl dtds/decls/xml.dcl manual.xml; \ 168 fi 169 170mutt.texi: stamp-doc-xml 171 -$(DB2XTEXI) --encoding=utf-8 \ 172 --string-param output-file=mutt \ 173 --string-param 'directory-category=Email-software' \ 174 --string-param 'directory-description=Text based mail reader' \ 175 manual.xml 176 @-if test ! -f mutt.texi; then \ 177 echo "WARNING: mutt.texi generation failed!"; \ 178 echo "To generate Gnu Info documentation, install docbook2x."; \ 179 echo "On Debian based systems, this is the 'docbook2x' package."; \ 180 echo "On Red Hat/Fedora systems, this is the 'docbook2X' package."; \ 181 echo "After installing the package, please re-run configure."; \ 182 fi 183 184mutt.info: mutt.texi 185 -$(MAKEINFO) --no-split -o mutt.info mutt.texi 186 187validate: stamp-doc-xml 188 xmllint --noout --noblanks --postvalid manual.xml 189 190spellcheck: 191 -aspell -d american --mode=sgml --encoding=utf-8 -p $(srcdir)/mutt.pwl check manual.xml.head 192 -aspell -d american --mode=nroff --encoding=utf-8 -p $(srcdir)/mutt.pwl check muttrc.man.head 193 -aspell -d american --mode=ccpp --encoding=utf-8 -p $(srcdir)/mutt.pwl check $(top_srcdir)/init.h 194 195sortcheck: manual.xml 196 sed -n -e '1,/^<sect1 id="variables">/d' -e '1,/^<sect1 id="functions">/s/<sect2 id="\([^"]*\)">/\1/p' < manual.xml > vars.tmp.1 197 sort < vars.tmp.1 > vars.tmp.2 198 cmp -s vars.tmp.1 vars.tmp.2 || diff -u vars.tmp.1 vars.tmp.2 | less 199 rm -rf vars.tmp.1 vars.tmp.2 200 201clean-local: 202 rm -f *~ *.html *.orig *.rej stamp-doc-* *.ps mutt.1 smime_keys.1 muttrc.man pgpewrap.1 mutt_pgpring.1 203 rm -f *.aux *.log *.tex *.out mutt.texi $(INFO_DOCFILES) 204 205DISTCLEANFILES=manual.txt manual.html manual.xml manual.pdf html \ 206 instdoc Muttrc 207 208instdoc: instdoc.sh 209 cat instdoc.sh > instdoc 210 chmod a+x instdoc 211 212update-doc: stamp-doc-rc $(BUILD_DOC_TARGETS) 213 214muttrc.man: makedoc$(EXEEXT) $(top_srcdir)/init.h muttrc.man.head muttrc.man.tail 215 $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -m | \ 216 cat $(srcdir)/muttrc.man.head - $(srcdir)/muttrc.man.tail\ 217 > muttrc.man 218 219EDIT = sed -e 's,@sysconfdir\@,$(sysconfdir),g' \ 220 -e 's,@bindir\@,$(bindir),g' \ 221 -e 's,@docdir\@,$(docdir),g' 222 223mutt.1: $(srcdir)/mutt.man 224 $(EDIT) $(srcdir)/mutt.man > $@ 225 226pgpewrap.1: $(srcdir)/pgpewrap.man 227 $(EDIT) $(srcdir)/pgpewrap.man > $@ 228 229mutt_pgpring.1: $(srcdir)/pgpring.man 230 $(EDIT) $(srcdir)/pgpring.man > $@ 231 232smime_keys.1: $(srcdir)/smime_keys.man 233 $(EDIT) $(srcdir)/smime_keys.man > $@ 234 235stamp-doc-xml: makedoc$(EXEEXT) $(top_srcdir)/init.h \ 236 manual.xml.head $(top_srcdir)/functions.h $(top_srcdir)/OPS* manual.xml.tail \ 237 $(srcdir)/gen-map-doc $(top_srcdir)/VERSION $(top_srcdir)/ChangeLog 238 ( date=`(cd $(top_srcdir) && ./mkreldate.sh)` && \ 239 version=`(cd $(top_srcdir) && env sh ./version.sh)` && \ 240 sed -e "s/@VERSION\@/$$version ($$date)/" $(srcdir)/manual.xml.head && \ 241 $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -s && \ 242 $(MAKEDOC_CPP) $(top_srcdir)/functions.h | \ 243 perl $(srcdir)/gen-map-doc $(srcdir)/manual.xml.tail $(top_srcdir)/OPS* \ 244 ) > manual.xml 245 touch stamp-doc-xml