all:
	make -r doc

distclean: clean
clean: doc-clean

TOP 		:= ../


PDF_SOURCE	:= ps
TEXRULES	:= $(TOP)/tex-rules/
include $(TEXRULES)rules.mk

HSRCDIR=$(TOP)hsrc
DOCROOT=tex/
DOCSRC=mnet.tex
MNET := mnet.lhs
MNET += $(shell cd $(HSRCDIR) && find . -name \*.lhs -type f)
MODELS := mnet.model.ps mnet-element.model.ps mnet-core.model.ps

LHS2TEX=lhs2TeX -lcref=False --poly --include=cpindex.fmt
LATEX=TEXINPUTS=$(shell pwd)/$(DOCROOT): latex -interaction=nonstopmode
DOT=dot -Tps

DOC=mnet phyl show thes

doc: check-docroot doc-pdf doc-gz
doc-gz: $(DOC:=.ps.gz)
doc-pdf: $(DOC:=.pdf)

depend:	$(DOC:=.dep)
	cat $^ > $@

doc-clean::
	-rm -f void.local.xml.tex *.{aux,log,dvi,ps,ps.gz,pdf,dep}
	-rm -f depend git-*.inc
	-rm -rf $(DOCROOT)

check-docroot:
	test -d $(DOCROOT) || mkdir -p $(DOCROOT)

$(DOCROOT)cpindex-lhs.sty: cpindex.sty
	echo '%include lhs2TeX.sty' | $(LHS2TEX) | cat - $< > $@

$(DOCROOT)%.lhs.tex	: $(HSRCDIR)/%.lhs
	test -d $(shell dirname $@) || mkdir -p $(shell dirname $@)
	$(LHS2TEX) $< > $@

%.xml.tex: $(TOP)/xml/%.xml
	echo '\subsection{Пример описания хоста} {\tiny \begin{verbatim}' > $@
	sed 's/\t/        /g' <$< >> $@
	echo '\end{verbatim} }' >> $@


show-ping-latency.tex: $(TOP)hcollect/hcollect.lisp
	awk '/\(define \(default-ping-latency/, /^$$/' $< | grep -v '^$$' | texifyscheme > $@

show-default-ping.tex: $(TOP)hcollect/hcollect.lisp
	awk '/\(define \(default-ping aggr/, /^$$/' $< | grep -v '^$$' | texifyscheme > $@

mnet.dvi: mnet.tex void.local.xml.tex $(MODELS) $(DOCSRC) $(MNET:%.lhs=$(DOCROOT)%.lhs.tex) $(DOCROOT)cpindex-lhs.sty
	$(LATEX) mnet.tex
	$(LATEX) mnet.tex

%.model.ps:	%.dot
	$(DOT) -o $@ $<

-include depend
