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