mutt stable branch with some hacks
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
8DEFS = -DSYSCONFDIR=\"$(sysconfdir)\" -DBINDIR=\"$(bindir)\" -DHAVE_CONFIG_H=1
9AM_CPPFLAGS = -I. -I.. -I$(includedir) -I$(top_srcdir)
10
11MAKEDOC_CPP = $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C
12
13noinst_PROGRAMS = makedoc
14
15EXTRA_DIST = dotlock.man \
16 smime_keys.man \
17 muttbug.man \
18 mutt.man \
19 pgpewrap.man \
20 pgpring.man \
21 PGP-Notes.txt \
22 applying-patches.txt \
23 devel-notes.txt \
24 gen-map-doc \
25 muttrc.man.head \
26 muttrc.man.tail \
27 mbox.man \
28 mmdf.man \
29 manual.xml.head \
30 manual.xml.tail \
31 instdoc.sh.in \
32 patch-notes.txt \
33 smime-notes.txt \
34 Muttrc Muttrc.head stamp-doc-rc \
35 makedoc.c makedoc-defs.h \
36 mutt.css mutt.xsl html.xsl chunk.xsl $(BUILT_DISTFILES)
37
38CHUNKED_DOCFILES = index.html intro.html gettingstarted.html \
39 configuration.html mimesupport.html advancedusage.html \
40 optionalfeatures.html security.html tuning.html reference.html miscellany.html
41
42HTML_DOCFILES = manual.html $(CHUNKED_DOCFILES)
43
44BUILT_DISTFILES = stamp-doc-xml stamp-doc-chunked manual.txt $(HTML_DOCFILES)
45
46srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt \
47 devel-notes.txt patch-notes.txt smime-notes.txt
48
49topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog \
50 README NEWS TODO README.SECURITY README.SSL
51
52all: makedoc-all
53
54makedoc-all: mutt.1 smime_keys.1 muttrc.man manual.html stamp-doc-rc stamp-doc-chunked manual.txt pgpewrap.1 pgpring.1
55
56install-data-local: makedoc-all instdoc
57 $(MKDIR_P) $(DESTDIR)$(mandir)/man1
58 $(MKDIR_P) $(DESTDIR)$(mandir)/man5
59 $(MKDIR_P) $(DESTDIR)$(sysconfdir)
60 ./instdoc mutt.1 $(DESTDIR)$(mandir)/man1/mutt.1
61 ./instdoc smime_keys.1 $(DESTDIR)$(mandir)/man1/smime_keys.1
62 ./instdoc pgpewrap.1 $(DESTDIR)$(mandir)/man1/pgpewrap.1
63 ./instdoc pgpring.1 $(DESTDIR)$(mandir)/man1/pgpring.1
64 ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/flea.1
65 ./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttbug.1
66 test x$(DOTLOCK_TARGET) = x || ./instdoc $(srcdir)/dotlock.man \
67 $(DESTDIR)$(mandir)/man1/mutt_dotlock.1
68 ./instdoc muttrc.man $(DESTDIR)$(mandir)/man5/muttrc.5
69 ./instdoc $(srcdir)/mbox.man $(DESTDIR)$(mandir)/man5/mbox.5
70 ./instdoc $(srcdir)/mmdf.man $(DESTDIR)$(mandir)/man5/mmdf.5
71 $(MKDIR_P) $(DESTDIR)$(docdir)
72 for f in $(topsrcdir_DOCFILES) ; do \
73 $(INSTALL) -m 644 $(top_srcdir)/$$f $(DESTDIR)$(docdir) ; \
74 done
75 for f in $(srcdir_DOCFILES) ; do \
76 $(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \
77 done
78 -$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir)
79 -for f in $(HTML_DOCFILES) ; do \
80 $(INSTALL) -m 644 $$f $(DESTDIR)$(docdir) ; \
81 done
82 $(INSTALL) -m 644 Muttrc $(DESTDIR)$(sysconfdir)/Muttrc.dist
83 -if [ -f $(DESTDIR)$(pkgdatadir)/Muttrc ] ; then \
84 mv $(DESTDIR)$(pkgdatadir)/Muttrc* $(DESTDIR)$(sysconfdir) ; \
85 elif [ -f $(DESTDIR)$(pkgdatadir)/../Muttrc ] ; then \
86 mv $(DESTDIR)$(pkgdatadir)/../Muttrc* $(DESTDIR)$(sysconfdir) ; \
87 elif [ ! -f $(DESTDIR)$(sysconfdir)/Muttrc ] ; then \
88 $(INSTALL) -m 644 Muttrc $(DESTDIR)$(sysconfdir) ; \
89 fi
90
91uninstall-local:
92 for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 smime_keys.1 pgpewrap.1 pgpring.1; do \
93 rm -f $(DESTDIR)$(mandir)/man1/$$f ; \
94 done
95 for f in muttrc.5 mbox.5 mmdf.5 ; do \
96 rm -f $(DESTDIR)$(mandir)/man5/$$f ; \
97 done
98 for f in $(srcdir_DOCFILES) $(topsrcdir_DOCFILES) $(HTML_DOCFILES) ; \
99 do \
100 rm -f $(DESTDIR)$(docdir)/$$f ; \
101 done
102 -rm -f $(DESTDIR)$(docdir)/manual.txt
103 for i in Muttrc ; do \
104 if cmp -s $(DESTDIR)$(sysconfdir)/$$i.dist $(DESTDIR)$(sysconfdir)/$$i ; then \
105 rm $(DESTDIR)$(sysconfdir)/$$i ; \
106 fi ; \
107 rm $(DESTDIR)$(sysconfdir)/$${i}.dist ; \
108 done
109
110check:
111manual.txt: manual.html
112 -LC_ALL=C lynx -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \
113 LC_ALL=C w3m -dump manual.html > $@ || \
114 LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@
115
116Muttrc: stamp-doc-rc
117
118stamp-doc-rc: $(top_srcdir)/init.h makedoc$(EXEEXT) $(srcdir)/Muttrc.head
119 -rm -f Muttrc stamp-doc-rc
120 sed -e 's,[@]docdir[@],$(docdir),' $(srcdir)/Muttrc.head > Muttrc
121 $(CPP) $(AM_CPPFLAGS) $(DEFS) $(CPPFLAGS) -D_MAKEDOC -C \
122 $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -c >> Muttrc
123 touch stamp-doc-rc
124
125manual.html: $(srcdir)/html.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
126 -xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
127
128stamp-doc-chunked: $(srcdir)/chunk.xsl $(srcdir)/mutt.xsl stamp-doc-xml $(srcdir)/mutt.css
129 -xsltproc --nonet $(srcdir)/chunk.xsl manual.xml
130 touch stamp-doc-chunked
131
132$(CHUNKED_DOCFILES): stamp-doc-chunked
133
134manual.pdf: manual.tex
135 -if test -f manual.tex; then pdfjadetex manual.tex; fi
136
137manual.tex: stamp-doc-xml
138 -if test -n "$(DSLROOT)"; then \
139 openjade -t tex -D $(DSLROOT) -d print/docbook.dsl dtds/decls/xml.dcl manual.xml; \
140 fi
141
142validate: stamp-doc-xml
143 xmllint --noout --noblanks --postvalid manual.xml
144
145spellcheck:
146 -aspell -d american --mode=sgml --encoding=utf-8 -p $(srcdir)/mutt.pwl check manual.xml.head
147 -aspell -d american --mode=nroff --encoding=utf-8 -p $(srcdir)/mutt.pwl check muttrc.man.head
148 -aspell -d american --mode=ccpp --encoding=utf-8 -p $(srcdir)/mutt.pwl check $(top_srcdir)/init.h
149
150sortcheck: manual.xml
151 sed -n -e '1,/^<sect1 id="variables">/d' -e '1,/^<sect1 id="functions">/s/<sect2 id="\([^"]*\)">/\1/p' < manual.xml > vars.tmp.1
152 sort < vars.tmp.1 > vars.tmp.2
153 cmp -s vars.tmp.1 vars.tmp.2 || diff -u vars.tmp.1 vars.tmp.2 | less
154 rm -rf vars.tmp.1 vars.tmp.2
155
156clean-local:
157 rm -f *~ *.html *.orig *.rej stamp-doc-* *.ps mutt.1 smime_keys.1 muttrc.man pgpewrap.1 pgpring.1
158 rm -f *.aux *.log *.tex *.out
159
160DISTCLEANFILES=manual.txt manual.html manual.xml manual.pdf html \
161 instdoc Muttrc
162
163instdoc: instdoc.sh
164 cat instdoc.sh > instdoc
165 chmod a+x instdoc
166
167update-doc: stamp-doc-xml stamp-doc-chunked stamp-doc-rc manual.txt manual.html
168
169muttrc.man: makedoc$(EXEEXT) $(top_srcdir)/init.h muttrc.man.head muttrc.man.tail
170 $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -m | \
171 cat $(srcdir)/muttrc.man.head - $(srcdir)/muttrc.man.tail\
172 > muttrc.man
173
174EDIT = sed -e 's,@sysconfdir\@,$(sysconfdir),g' \
175 -e 's,@bindir\@,$(bindir),g' \
176 -e 's,@docdir\@,$(docdir),g'
177
178mutt.1: $(srcdir)/mutt.man
179 $(EDIT) $(srcdir)/mutt.man > $@
180
181pgpewrap.1: $(srcdir)/pgpewrap.man
182 $(EDIT) $(srcdir)/pgpewrap.man > $@
183
184pgpring.1: $(srcdir)/pgpring.man
185 $(EDIT) $(srcdir)/pgpring.man > $@
186
187smime_keys.1: $(srcdir)/smime_keys.man
188 $(EDIT) $(srcdir)/smime_keys.man > $@
189
190stamp-doc-xml: makedoc$(EXEEXT) $(top_srcdir)/init.h \
191 manual.xml.head $(top_srcdir)/functions.h $(top_srcdir)/OPS* manual.xml.tail \
192 $(srcdir)/gen-map-doc $(top_srcdir)/VERSION $(top_srcdir)/ChangeLog
193 ( date=`head -n 1 $(top_srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1` && \
194 sed -e "s/@VERSION\@/`cat $(top_srcdir)/VERSION` ($$date)/" $(srcdir)/manual.xml.head && \
195 $(MAKEDOC_CPP) $(top_srcdir)/init.h | ./makedoc$(EXEEXT) -s && \
196 $(MAKEDOC_CPP) $(top_srcdir)/functions.h | \
197 perl $(srcdir)/gen-map-doc $(srcdir)/manual.xml.tail $(top_srcdir)/OPS* \
198 ) > manual.xml
199 touch stamp-doc-xml