#
#	Makefile pour la documentation de lettre.sty
#

SUBSRC1:=\
	letex1.tex letex2.tex letex3.tex letex4.tex letex5.tex letex6.tex \
	testfaxd.tex testfaxe.tex
SUBSRC2:=\
	letex7.tex testfaxf.tex
SUBSRC3:=\
	letex8.tex
DOCSRC := letdoc.tex letdoc2.tex
SUBSRC := $(SUBSRC1) $(SUBSRC2) $(SUBSRC3)
SUBSRC_NL := $(patsubst %.tex,%_nl.tex,$(SUBSRC1) $(SUBSRC2) $(SUBSRC3))
MAINSRC := letdocmain.tex sondes.tex

SRC := $(MAINSRC) $(SUBSRC) $(DOCSRC)
DOCDVI := $(patsubst %.tex,%.dvi, $(DOCSRC))
DOCPS  := $(patsubst %.tex,%.ps, $(DOCSRC))
DOCPDF := $(patsubst %.tex,%.pdf, $(DOCSRC))

TMPDIR := /tmp/lettre

ifeq ($(MAKELEVEL),0)

INPUTSDIR := ../../../tex/latex/lettre

export VERSION:= $(shell awk '{print; exit(0)}' readme/LAST_VERSION)

.PHONY: doc
doc: relocation $(TMPDIR)/$(VERSION)-release-notes
	$(MAKE) -C $(TMPDIR) doc
	for w in $(DOCDVI) $(DOCPS) $(DOCPDF); do cp -u $(TMPDIR)/$$w . ; done

.PHONY: relocation
relocation:
	if [ ! -d $(TMPDIR) ]; then mkdir -p $(TMPDIR); fi
	for w in $(SRC); do cp -u $$w $(TMPDIR); done
	find . \(  -iname Makefile -o -path '$(INPUTSDIR)/*.tpl' \
	   -o -name '*.ins' \) -exec cp -u {} $(TMPDIR) \;
	find $(INPUTSDIR)  -name '*.tpl'  -exec cp -u {} $(TMPDIR) \;
	cp -u letdoc.ist $(TMPDIR)
	cp -u amgmono.eps ecusson55.ps $(TMPDIR)

define UNTABIFY
{									\
	k = split($$0,a,"\t");			\
	for(i=1; i<=k; ++i){			\
		w = a[i];					\
		if(i == 1)					\
			printf("%s",w);			\
		else						\
			printf("%s%s",substr("        ",c+1),w);\
		l = length(w);				\
		c = l-int(l/8)*8;			\
	}								\
	print ""						\
}
endef

$(TMPDIR)/$(VERSION)-release-notes: release-notes relocation
	awk '$(UNTABIFY)' $< > $@

endif

ifeq ($(MAKELEVEL),1)
INPUTSDIR:= .

SUBPS1:=$(patsubst %.tex,%-1.ps,$(SUBSRC1))
SUBPS2:=\
	$(patsubst %.tex,%-1.ps,$(SUBSRC2))\
	$(patsubst %.tex,%-2.ps,$(SUBSRC2))
SUBPS3:=\
	$(patsubst %.tex,%-1.ps,$(SUBSRC3))\
	$(patsubst %.tex,%-2.ps,$(SUBSRC3))\
	$(patsubst %.tex,%-3.ps,$(SUBSRC3))

SUBPS:=$(SUBPS1) $(SUBPS2) $(SUBPS3)


LATEX := latex
TEX2DVI := texify
TEX2DIVOPT := --batch
define MAKOPT
-o $(patsubst %.idx.good, %.ind, $(1)) -s $(DOCIST) -t $(patsubst %.idx.good, %.ilg, $(1))
endef
DVIPS= dvips
DVIPSOPT= -o
PS2PDF= ps2pdf

.SUFFIXES: .ps .tex .dvi .idx .idx.good

TPL:=$(INPUTSDIR)/lettre.tpl $(INPUTSDIR)/telefax.tpl $(INPUTSDIR)/institut.tpl

   # on fournit une version Postscript et deux fichiers .dvi (polices CM et EC)
.PHONY: doc
doc:  $(patsubst %.tex,%.pdf,$(DOCSRC))

$(patsubst %.tex,%.pdf,$(DOCSRC)): %.pdf: %.ps
	@$(PS2PDF) $<

$(patsubst %.tex,%.ps,$(DOCSRC)): %.ps: %.dvi
	@$(DVIPS) $(DVIPSOPT) $*.ps $<

$(patsubst %.tex,%.dvi,$(DOCSRC)): %.dvi: %.tex $(MAINSRC) path.tex letdoc.ist \
	$(VERSION)-release-notes $(TPL) $(SUBSRC_NL) $(SUBPS)
	@$(TEX2DVI) $(TEX2DVIOPT) $<

$(SUBSRC_NL): %_nl.tex: %.tex
	awk 'BEGIN {print_enb = 0}; /^\\documentclass/ {print_enb = 1} ; print_enb == 1 {print}' $< > $@

path.tex:
	echo '\newcommand*\inputsdir{$(INPUTSDIR)/}' > $@
	echo '\newcommand*\versnum{$(VERSION)}' >> $@

$(patsubst %.tex,%-1.ps,$(SUBSRC)): %-1.ps: %.dvi
	@$(DVIPS) -pp1-1 $(DVIPSOPT) $*-1.ps $<

$(patsubst %.tex,%-2.ps,$(SUBSRC2)  $(SUBSRC3)): %-2.ps: %.dvi
	@$(DVIPS) -pp2-2 $(DVIPSOPT) $*-2.ps $<

$(patsubst %.tex,%-3.ps,$(SUBSRC3)): %-3.ps: %.dvi
	@$(DVIPS) -pp3-3 $(DVIPSOPT) $*-3.ps $<

$(patsubst %.tex,%.dvi,$(SUBSRC)): %.dvi: %.tex
	@$(TEX2DVI) $(TEX2DVIOPT) $<
   # ne recompiler que si demand dans le fichier .log
	@grep recompiler $*.log && $(TEX2DVI) $(TEX2DVIOPT) $< || echo ""

endif

clean:
	rm -fr $(TMPDIR)
