# # 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)