/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 70 - (hide annotations)
Tue Jul 10 17:03:19 2007 UTC (5 years, 10 months ago) by abate
File size: 2709 byte(s)
[r2002-11-01 12:53:44 by cvscast] Empty log message

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

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