Don't look for pipes in the root node.
[lhc/web/wiklou.git] / math / Makefile
1 .PHONY: clean all
2
3 OBJ=render_info.cmo tex.cmo texutil.cmo parser.cmo lexer.cmo texvc.cmo \
4 render_info.cmx tex.cmx texutil.cmx parser.cmx lexer.cmx texvc.cmx \
5 lexer.cmi parser.cmi render_info.cmi tex.cmi texutil.cmi texvc.cmi \
6 lexer.o parser.o render_info.o tex.o texutil.o texvc.o \
7 lexer.ml parser.ml parser.mli texvc texvc.bc texvc_test.cmo \
8 texvc_test.cmx texvc_test.cmi texvc_test.o texvc_test util.o \
9 util.cmo util.cmx util.cmi texvc_cgi.cmi texvc_cgi texvc_cgi.cmo \
10 render.o render.cmi render.cmo render.cmx texvc_tex.cmx \
11 texvc_tex.o texvc_tex.cmi texvc_tex html.cmi html.cmo html.cmx \
12 html.o mathml.cmi mathml.cmo mathml.cmx mathml.o
13 CGIPATH=-I /usr/lib/ocaml/cgi -I /usr/lib/ocaml/netstring -I /usr/lib/ocaml/pcre
14
15 COMMON_NATIVE_OBJ =util.cmx parser.cmx html.cmx mathml.cmx texutil.cmx lexer.cmx
16 COMMON_BYTECODE_OBJ=util.cmo parser.cmo html.cmo mathml.cmo texutil.cmo lexer.cmo
17
18 all: texvc texvc_test texvc_tex
19 cgi: texvc_cgi.cmo texvc_cgi
20 clean:
21 rm -f $(OBJ)
22
23 # Native versions
24 texvc: $(COMMON_NATIVE_OBJ) render.cmx texvc.cmx
25 ocamlopt -o $@ unix.cmxa $^
26 texvc_test: $(COMMON_NATIVE_OBJ) lexer.cmx texvc_test.cmx
27 ocamlopt -o $@ $^
28 texvc_tex: $(COMMON_NATIVE_OBJ) texvc_tex.cmx
29 ocamlopt -o $@ $^
30
31 # Bytecode version
32 texvc.bc: $(COMMON_BYTECODE_OBJ) render.cmo texvc.cmo
33 ocamlc -o $@ unix.cma $^
34
35 # CGI related targets:
36 texvc_cgi.cmo: texvc_cgi.ml
37 ocamlc -c $(CGIPATH) $<
38 texvc_cgi: util.cmo parser.cmo texutil.cmo render.cmo lexer.cmo texvc_cgi.cmo
39 ocamlc -o $@ unix.cma $(CGIPATH) pcre.cma netstring.cma cgi.cma $^
40 chmod g-w $@
41
42 #
43 # Pattern rules
44 #
45
46 # .ml source .mli interface
47 # .cmi compiled interface
48 # .cmo object .cma library object
49 # .cmx object file .cmxa library object file
50 %.ml: %.mll
51 ocamllex $<
52 %.mli %.ml: %.mly
53 ocamlyacc $<
54 %.cmo: %.ml
55 ocamlc -c $<
56 %.cmx: %.ml
57 ocamlopt -c $<
58 %.cmi: %.mli
59 ocamlc -c $<
60
61 # Various dependencies
62
63 html.cmo: render_info.cmi tex.cmi util.cmo html.cmi
64 html.cmx: render_info.cmi tex.cmi util.cmx html.cmi
65 html.cmi: tex.cmi
66 lexer.cmo: parser.cmi render_info.cmi tex.cmi texutil.cmi
67 lexer.cmx: parser.cmx render_info.cmi tex.cmi texutil.cmx
68 mathml.cmo: tex.cmi mathml.cmi
69 mathml.cmx: tex.cmi mathml.cmi
70 mathml.cmi: tex.cmi
71 parser.cmo: render_info.cmi tex.cmi parser.cmi
72 parser.cmx: render_info.cmi tex.cmi parser.cmi
73 parser.cmi: render_info.cmi tex.cmi
74 render.cmo: texutil.cmi util.cmo
75 render.cmx: texutil.cmx util.cmx
76 tex.cmi: render_info.cmi
77 texutil.cmo: html.cmi parser.cmi render_info.cmi tex.cmi util.cmo texutil.cmi
78 texutil.cmx: html.cmx parser.cmx render_info.cmi tex.cmi util.cmx texutil.cmi
79 texutil.cmi: parser.cmi tex.cmi
80 texvc.cmo: html.cmi lexer.cmo mathml.cmi parser.cmi render.cmo texutil.cmi util.cmo
81 texvc.cmx: html.cmx lexer.cmx mathml.cmx parser.cmx render.cmx texutil.cmx util.cmx
82 texvc_cgi.cmo: lexer.cmo parser.cmi render.cmo texutil.cmi util.cmo
83 texvc_cgi.cmx: lexer.cmx parser.cmx render.cmx texutil.cmx util.cmx
84 texvc_test.cmo: html.cmi lexer.cmo parser.cmi texutil.cmi util.cmo
85 texvc_test.cmx: html.cmx lexer.cmx parser.cmx texutil.cmx util.cmx
86 texvc_tex.cmo: lexer.cmo parser.cmi texutil.cmi util.cmo
87 texvc_tex.cmx: lexer.cmx parser.cmx texutil.cmx util.cmx