SHELL = /bin/sh

PACKAGE = @PACKAGE@
VERSION = @VERSION@

prefix = @prefix@
exec_prefix = @exec_prefix@
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 -DPKGDOCDIR=\"$(docdir)\"
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			\
	muttng-manual.xsl		\
	muttng-tex.xsl			\
	muttng.sty			\
	html.xsl chunk.xsl

BUILT_DISTFILES = stamp-doc-xml stamp-doc-man stamp-doc-chunked \
		  manual.txt manual.html

srcdir_DOCFILES = PGP-Notes.txt applying-patches.txt	\
	devel-notes.txt patch-notes.txt smime-notes.txt


topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog	\
	UPGRADING README NEWS TODO TODO.mutt-ng README.SSL 

all: ../makedoc$(EXEEXT)
	$(MAKE) makedoc-all

makedoc-all: muttng.1 muttrc.man manual.html stamp-doc-chunked manual.txt

install: all instdoc
	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1
	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man5
	./instdoc muttng.1 $(DESTDIR)$(mandir)/man1/muttng.1
	./instdoc $(srcdir)/muttbug.man $(DESTDIR)$(mandir)/man1/muttng-flea.1
	echo ".so $(mandir)/man1/muttng-flea.1" > $(DESTDIR)$(mandir)/man1/muttngbug.1
	echo ".so $(mandir)/man1/muttng-flea.1" > $(DESTDIR)$(mandir)/man1/fleang.1
	./instdoc $(srcdir)/dotlock.man \
		$(DESTDIR)$(mandir)/man1/muttng_dotlock.1
	./instdoc muttrc.man $(DESTDIR)$(mandir)/man5/muttngrc.5
	./instdoc $(srcdir)/mbox.man $(DESTDIR)$(mandir)/man5/muttng-mbox.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) || true

uninstall:
	for f in muttng.1 mutt_dotlock.1 fleang.1 muttng-flea.1 muttngbug.1 ; do \
	  rm -f $(DESTDIR)$(mandir)/man1/$$f ; \
	done
	for f in muttngrc.5 muttng-mbox.5  ; do \
	  rm -f $(DESTDIR)$(mandir)/man5/$$f ; \
	done
	-rm -rf $(DESTDIR)$(docdir)/*

check:
manual.txt: manual.html
	@HTML2TXT_CMD@

manual.html: $(srcdir)/html.xsl manual.xml
	-xsltproc --nonet --stringparam html.stylesheet muttng.css -o $@ $^
	@HTMLCLEAN_CMD@ $@ || true

manual-chunked stamp-doc-chunked: $(srcdir)/chunk.xsl manual.xml
	
manual.pdf: stamp-doc-tex
	-if test -f manual.tex; then pdfjadetex manual.tex; fi

manual.tex stamp-doc-tex: manual.xml
	-if test -n "$(DSLROOT)"; then \
	  openjade -t tex -D $(DSLROOT) -d print/docbook.dsl dtds/decls/xml.dcl manual.xml; \
	fi
	touch stamp-doc-tex

manual-ng.tex: manual.xml muttng-tex.xsl
	xsltproc -o manual-ng.tex $(srcdir)/muttng-tex.xsl manual-pre.xml

manual-ng.pdf: manual-ng.tex muttng.sty
	(BD=`pwd`; cd $(srcdir); pdflatex -file-line-error -output-directory $$BD $(builddir)/manual-ng.tex)
	(BD=`pwd`; cd $(srcdir); pdflatex -file-line-error -output-directory $$BD $(builddir)/manual-ng.tex)
	touch manual-ng.idx
	makeindex -s $(srcdir)/muttng.ist -o manual-ng.ind manual-ng.idx
	(BD=`pwd`; cd $(srcdir); pdflatex -file-line-error -output-directory $$BD $(builddir)/manual-ng.tex)

manual-ng.ps: manual-ng.tex muttng.sty
	(BD=`pwd`; cd $(srcdir); latex -file-line-error -output-directory $$BD $(builddir)/manual-ng.tex)
	(BD=`pwd`; cd $(srcdir); latex -file-line-error -output-directory $$BD $(builddir)/manual-ng.tex)
	touch manual-ng.idx
	makeindex -s $(srcdir)/muttng.ist -o manual-ng.ind manual-ng.idx
	(BD=`pwd`; cd $(srcdir); latex -file-line-error -output-directory $$BD $(builddir)/manual-ng.tex)
	dvips -o manual-ng.ps manual-ng.dvi

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-pre.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))

update-doc: ../makedoc$(EXEEXT) stamp-doc-xml stamp-doc-man stamp-doc-chunked manual.txt manual.html
	
EDIT=sed -e 's,@sysconfdir\@,$(sysconfdir),g' \
     -e 's,@bindir\@,$(bindir),g' \
     -e 's,@docdir\@,$(docdir),g'

muttng.1: $(srcdir)/mutt.man
	$(EDIT) $(srcdir)/mutt.man > $@

muttrc.man stamp-doc-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
	touch stamp-doc-man

manual.xml stamp-doc-xml: ../makedoc$(EXEEXT) $(top_srcdir)/init.h muttng-manual.xsl manual.xml.head manual.xml.tail $(top_srcdir)/VERSION.in $(top_srcdir)/VERSION.svn
	( sed -e "s/@VERSION\@/`cat $(top_srcdir)/VERSION.in`-r`cat $(top_srcdir)/VERSION.svn`/" $(srcdir)/manual.xml.head ;\
	  $(MAKEDOC_CPP) $(top_srcdir)/init.h | ../makedoc -s ) |      \
		cat - $(srcdir)/manual.xml.tail > manual-pre.xml
	-xsltproc --novalid --nonet $(srcdir)/muttng-manual.xsl manual-pre.xml > manual.xml
	touch stamp-doc-xml


syntax highlighted by Code2HTML, v. 0.9.1