/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 76 - (hide annotations)
Tue Jul 10 17:04:07 2007 UTC (5 years, 11 months ago) by abate
File size: 2949 byte(s)
[r2002-11-05 16:09:14 by cvscast] Empty log message

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

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