summaryrefslogtreecommitdiff
path: root/dev/ocamlweb-doc/Makefile
blob: 9649101738e9f64b129102cd91cb790b17d32a03 (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

# Makefile for doc/

all:: newparse coq.ps minicop.ps
#newsyntax.dvi minicoq.dvi


OBJS=lex.cmo ast.cmo parse.cmo syntax.cmo

newparse: $(OBJS) syntax.mli lex.ml syntax.ml
	ocamlc -o newparse $(OBJS)

%.cmo: %.ml
	ocamlc -c $<

%.cmi: %.mli
	ocamlc -c $<

%.ml: %.mll
	ocamllex $<

%.ml: %.mly
	ocamlyacc -v $<

%.mli: %.mly
	ocamlyacc -v $<

clean::
	rm -f *.cm* *.output syntax.ml syntax.mli lex.ml newparse

parse.cmo: ast.cmo
syntax.cmi: parse.cmo
syntax.cmo: lex.cmo parse.cmo syntax.cmi
lex.cmo: syntax.cmi
ast.cmo: ast.ml

newsyntax.dvi: newsyntax.tex
	latex $<
	latex $<

coq.dvi: coq.tex
	latex coq
	latex coq

coq.tex::
	ocamlweb -p "\usepackage{epsfig}" \
	macros.tex intro.tex \
	../../lib/{doc.tex,*.mli} ../../kernel/{doc.tex,*.mli} ../../library/{doc.tex,*.mli} \
	../../pretyping/{doc.tex,*.mli} ../../interp/{doc.tex,*.mli} \
	../../parsing/{doc.tex,*.mli} ../../proofs/{doc.tex,*.mli} \
	../../tactics/{doc.tex,*.mli} ../../toplevel/{doc.tex,*.mli} \
	-o coq.tex


depend:: kernel.dep.ps library.dep.ps pretyping.dep.ps parsing.dep.ps \
         proofs.dep.ps tactics.dep.ps toplevel.dep.ps interp.dep.ps

%.dot: ../%
	(cd ../$*; ocamldep *.ml *.mli) | ocamldot -lr > $@

%.dep.ps: %.dot
	dot -Tps $< -o $@

clean::
	rm -f *~ *.log *.aux

.SUFFIXES: .tex .dvi .ps .cmo .cmi .mli .ml .mll .mly

%.dvi: %.tex
	latex $< && latex $<

%.ps: %.dvi
	dvips $< -o $@