/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 78 - (hide annotations)
Tue Jul 10 17:04:23 2007 UTC (5 years, 10 months ago) by abate
File size: 2984 byte(s)
[r2002-11-06 07:46:53 by cvscast] Empty log message

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

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