summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/lettre/makefile
blob: 0e48aa5d4da7baf8c393b83f1bd5601d6b7c1b84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#
#	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)