/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 126 - (show annotations)
Tue Jul 10 17:08:41 2007 UTC (5 years, 10 months ago) by abate
File size: 3605 byte(s)
[r2002-11-16 00:26:48 by cvscast] Empty log message

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

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