/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 71 - (show annotations)
Tue Jul 10 17:03:32 2007 UTC (5 years, 10 months ago) by abate
File size: 2779 byte(s)
[r2002-11-01 20:09:48 by cvscast] Empty log message

Original author: cvscast
Date: 2002-11-01 20:09:49+00:00
1 # Source directories
2
3 DIRS = parser typing types runtime driver
4
5 # Objects to build
6
7 PARSER = parser/lexer.cmo parser/location.cmo parser/ast.cmo parser/parser.cmo
8
9 TYPING = typing/typed.cmo typing/typer.cmo
10
11 TYPES = types/recursive.cmo \
12 types/recursive_share.cmo types/recursive_noshare.cmo \
13 types/sortedList.cmo types/sortedMap.cmo types/boolean.cmo \
14 types/intervals.cmo types/chars.cmo types/atoms.cmo \
15 types/types.cmo \
16 types/patterns.cmo \
17 types/sequence.cmo \
18 types/builtin.cmo
19
20 RUNTIME = runtime/value.cmo \
21 runtime/load_xml.cmo runtime/run_dispatch.cmo \
22 runtime/eval.cmo
23
24 DRIVER = driver/cduce.cmo
25
26 TOPLEVEL = toplevel/toploop.cmo
27
28 OBJECTS = $(TYPES) $(PARSER) $(TYPING) $(RUNTIME)
29 XOBJECTS = $(OBJECTS:.cmo=.cmx)
30 XDRIVER = $(DRIVER:.cmo=.cmx)
31
32
33
34 DEBUG = -g
35 PACKAGES = pxp-engine,pxp-lex-iso88591,camlp4,num
36 OCAMLCP = ocamlc
37 OCAMLC = ocamlfind $(OCAMLCP) -package $(PACKAGES)
38 OCAMLOPT = ocamlfind ocamlopt -package $(PACKAGES)
39
40 DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)
41 INCLUDES = $(DIRS:%=-I %)
42
43 SYNTAX = camlp4o pa_extend.cmo
44 SYNTAX_PARSER = -pp '$(SYNTAX)'
45 PREPRO = $(SYNTAX) pr_o.cmo
46
47 all.cma: $(OBJECTS)
48 $(OCAMLC) $(DEBUG) -o $@ -linkpkg gramlib.cma -a $(OBJECTS)
49
50 all.cmxa: $(XOBJECTS)
51 $(OCAMLOPT) -a -o $@ $(XOBJECTS)
52
53
54 cduce: $(OBJECTS) $(DRIVER)
55 $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(OBJECTS) $(DRIVER)
56
57 toplevel: $(OBJECTS) $(TOPLEVEL)
58 $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(OBJECTS) $(TOPLEVEL)
59
60
61 dtd2cduce: tools/dtd2cduce.cmo
62 $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
63
64 cduce.opt: all.cmxa $(XDRIVER)
65 $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XOBJECTS) $(XDRIVER)
66
67 compute_depend:
68 @echo "Computing dependencies ..."
69 ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend
70
71 run_top: all.cma
72 ledit ocaml $(INCLUDES) `ocamlfind use pxp` all.cma
73
74 clean:
75 for i in $(DIRS); do \
76 (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \
77 done
78 rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
79 rm -f cduce cduce.opt
80 rm -Rf prepro
81
82
83 .SUFFIXES: .ml .mli .cmo .cmi .cmx
84
85 profile:
86 rm -Rf prepro
87 mkdir prepro
88 for i in $(DIRS); do \
89 mkdir prepro/$$i; \
90 for j in $$i/*.ml $$i/*.mli; do \
91 if [ -f "$$j" ]; then \
92 echo $$j; \
93 $(PREPRO) $$j -o prepro/$$j; \
94 fi; \
95 done; \
96 done
97 cp Makefile depend prepro/
98 (cd prepro; make cduce OCAMLCP="ocamlcp -p a" SYNTAX_PARSER=)
99
100 .ml.cmo:
101 $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
102
103 .ml.cmx:
104 $(OCAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
105
106 .mli.cmi:
107 $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
108
109 # FORTPATH = /users/formel8/frisch/solaris/fort/fort
110 #FORTPATH = /home/frisch/fort
111 #FORTBIN = $(FORTPATH)/fort
112 #FORTLIB = $(FORTPATH)
113
114 test: all.cma
115 fort all.cma $(INCLUDES) tests/test_fort.ml
116
117 include depend

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5