summaryrefslogtreecommitdiff
path: root/dev/ocamlweb-doc/Makefile
blob: 7ab1bd3fcdb77e4816df7113e28d65f8264d5b67 (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
include ../../config/Makefile

LOCALINCLUDES=-I ../../config -I ../../tools -I ../../tools/coqdoc \
	      -I ../../scripts -I ../../lib -I ../../kernel -I ../../kernel/byterun -I ../../library \
              -I ../../proofs -I ../../tactics -I ../../pretyping \
              -I ../../interp -I ../../toplevel -I ../../parsing -I ../../ide/utils -I ../../ide \
              -I ../../contrib/omega -I ../../contrib/romega \
	      -I ../../contrib/ring -I ../../contrib/dp -I ../../contrib/setoid_ring \
              -I ../../contrib/xml -I ../../contrib/extraction \
              -I ../../contrib/interface -I ../../contrib/fourier \
	      -I ../../contrib/jprover -I ../../contrib/cc \
	      -I ../../contrib/funind -I ../../contrib/firstorder \
              -I ../../contrib/field -I ../../contrib/subtac -I ../../contrib/rtauto \
              -I ../../contrib/recdef

MLINCLUDES=$(LOCALINCLUDES) -I $(MYCAMLP4LIB)


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: ../../%
	ocamldoc -rectypes $(MLINCLUDES) -t $* -dot -dot-reduce ../../$*/*.ml ../../$*/*.mli -o $@

%.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 $@