/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 286 - (hide annotations)
Tue Jul 10 17:22:36 2007 UTC (5 years, 10 months ago) by abate
File size: 4577 byte(s)
[r2003-04-04 13:47:56 by cvscast] Empty log message

Original author: cvscast
Date: 2003-04-04 13:47:56+00:00
1 abate 61 # Source directories
2 abate 22
3 abate 113 DIRS = misc parser typing types runtime driver toplevel
4 abate 72 CLEAN_DIRS = $(DIRS) tools tests
5 abate 61
6     # Objects to build
7    
8 abate 269 MISC = misc/state.cmo misc/pool.cmo misc/encodings.cmo misc/bool.cmo
9 abate 78
10 abate 81 PARSER = parser/lexer.cmo parser/location.cmo \
11     parser/wlexer.cmo \
12     parser/ast.cmo parser/parser.cmo
13 abate 1
14 abate 5 TYPING = typing/typed.cmo typing/typer.cmo
15 abate 4
16 abate 224 TYPES = \
17 abate 70 types/sortedList.cmo types/sortedMap.cmo types/boolean.cmo \
18 abate 225 types/ident.cmo \
19 abate 12 types/intervals.cmo types/chars.cmo types/atoms.cmo \
20 abate 156 types/normal.cmo \
21 abate 15 types/types.cmo \
22 abate 17 types/patterns.cmo \
23 abate 18 types/sequence.cmo \
24     types/builtin.cmo
25 abate 3
26 abate 70 RUNTIME = runtime/value.cmo \
27     runtime/load_xml.cmo runtime/run_dispatch.cmo \
28 abate 76 runtime/print_xml.cmo \
29 abate 70 runtime/eval.cmo
30 abate 45
31 abate 10 DRIVER = driver/cduce.cmo
32 abate 3
33 abate 90 OBJECTS = $(MISC) $(TYPES) $(PARSER) $(TYPING) $(RUNTIME)
34 abate 63
35 abate 90 CDUCE = $(OBJECTS) $(DRIVER) driver/run.cmo
36 abate 126 WEBIFACE = $(OBJECTS) $(DRIVER) driver/examples.cmo driver/webiface.cmo
37 abate 90 TOPLEVEL = $(OBJECTS) toplevel/toploop.cmo
38    
39 abate 20 XOBJECTS = $(OBJECTS:.cmo=.cmx)
40 abate 90 XCDUCE = $(CDUCE:.cmo=.cmx)
41 abate 273 XWEBIFACE = $(WEBIFACE:.cmo=.cmx)
42 abate 20
43 abate 1
44 abate 61 DEBUG = -g
45 abate 90 PACKAGES = pxp-engine,pxp-lex-iso88591,wlexing,camlp4,num,cgi
46 abate 61 OCAMLCP = ocamlc
47     OCAMLC = ocamlfind $(OCAMLCP) -package $(PACKAGES)
48 abate 228 OCAMLOPT = ocamlfind ocamlopt -package $(PACKAGES)
49 abate 245 # extra options:
50     # -inline 25
51     # -p (profiling)
52     # -noassert
53 abate 61
54     DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)
55     INCLUDES = $(DIRS:%=-I %)
56    
57     SYNTAX = camlp4o pa_extend.cmo
58     SYNTAX_PARSER = -pp '$(SYNTAX)'
59     PREPRO = $(SYNTAX) pr_o.cmo
60    
61 abate 1 all.cma: $(OBJECTS)
62 abate 61 $(OCAMLC) $(DEBUG) -o $@ -linkpkg gramlib.cma -a $(OBJECTS)
63 abate 1
64 abate 20 all.cmxa: $(XOBJECTS)
65 abate 61 $(OCAMLOPT) -a -o $@ $(XOBJECTS)
66 abate 20
67    
68 abate 188 OCAMLDEFUN = /home/frisch/defun/bin/ocamldefun
69     DEFUN_FILES = $(OBJECTS:%.cmo=%)
70    
71     build_defun:
72     for i in $(DEFUN_FILES); do \
73     $(OCAMLDEFUN) $(DIRS:%=-I defun/%) -p -d defun $$i.mli $$i.ml; \
74     $(OCAMLDEFUN) $(DIRS:%=-I defun/%) -p -d defun $$i.ml; \
75     done
76    
77 abate 90 cduce: $(CDUCE)
78     $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(CDUCE)
79 abate 10
80 abate 116 toplevel.out: $(TOPLEVEL)
81 abate 90 $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(TOPLEVEL)
82 abate 63
83 abate 90 webiface: $(WEBIFACE)
84     $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(WEBIFACE)
85 abate 63
86 abate 90
87 abate 71 dtd2cduce: tools/dtd2cduce.cmo
88     $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
89    
90 abate 72 pull: tools/pull.cmo
91     $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
92    
93 abate 124 cduce.opt: $(XCDUCE)
94     $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XCDUCE)
95 abate 20
96 abate 273 webiface.opt: $(XWEBIFACE)
97     $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XWEBIFACE)
98    
99 abate 3 compute_depend:
100     @echo "Computing dependencies ..."
101 abate 4 ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend
102 abate 1
103 abate 81 parser/wlexer.ml: parser/wlexer.mll
104     wlex parser/wlexer.mll
105    
106 abate 3 run_top: all.cma
107 abate 58 ledit ocaml $(INCLUDES) `ocamlfind use pxp` all.cma
108 abate 1
109     clean:
110 abate 72 for i in $(CLEAN_DIRS); do \
111 abate 58 (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \
112     done
113 abate 81 rm -f parser/wlexer.ml
114 abate 58 rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
115 abate 273 rm -f cduce cduce.opt webiface.opt ocamlprof.dump
116 abate 90 rm -f dtd2cduce pool webiface
117 abate 61 rm -Rf prepro
118 abate 262 rm -f web/*.php web/*~
119 abate 1
120 abate 61
121 abate 1 .SUFFIXES: .ml .mli .cmo .cmi .cmx
122    
123 abate 61 profile:
124     rm -Rf prepro
125     mkdir prepro
126     for i in $(DIRS); do \
127     mkdir prepro/$$i; \
128     for j in $$i/*.ml $$i/*.mli; do \
129     if [ -f "$$j" ]; then \
130     echo $$j; \
131     $(PREPRO) $$j -o prepro/$$j; \
132     fi; \
133     done; \
134     done
135 abate 139 cp parser/wlexer.mll prepro/parser/
136 abate 61 cp Makefile depend prepro/
137     (cd prepro; make cduce OCAMLCP="ocamlcp -p a" SYNTAX_PARSER=)
138    
139 abate 1 .ml.cmo:
140 abate 61 $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
141    
142 abate 1 .ml.cmx:
143 abate 58 $(OCAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
144 abate 1
145     .mli.cmi:
146 abate 61 $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
147 abate 1
148     # FORTPATH = /users/formel8/frisch/solaris/fort/fort
149 abate 61 #FORTPATH = /home/frisch/fort
150     #FORTBIN = $(FORTPATH)/fort
151     #FORTLIB = $(FORTPATH)
152 abate 1
153     test: all.cma
154 abate 61 fort all.cma $(INCLUDES) tests/test_fort.ml
155 abate 1
156 abate 3 include depend
157 abate 105
158    
159 abate 273 driver/examples.ml: cduce.opt tests/web.cd tests/examples.xml
160     ./cduce.opt -quiet tests/web.cd
161 abate 126
162    
163 abate 260 web/files: cduce.opt web/site.cd
164 abate 255 (cd web; ../cduce.opt -quiet site.cd)
165    
166 abate 286
167     write_header:
168     headache -h header $(DEPEND)
169    
170     remove_header:
171     headache -r $(DEPEND)
172    
173 abate 105 # Site-specific installation
174     build_web:
175 abate 273 rsh cedre ". .env; cd IMPLEM/CDUCE; make webiface.opt"
176 abate 105 install_web:
177 abate 279 ssh cduce@iris.ens.fr "cp ~frisch/IMPLEM/CDUCE/webiface.opt cgi-bin/cduce2; chmod +s cgi-bin/cduce2"
178 abate 155 install_web_local:
179 abate 273 ssh root@localhost "cp ~beppe/IMPLEM/CDUCE/webiface.opt /var/www/cgi-bin/cduce; cp ~beppe/IMPLEM/CDUCE/web/*.php /var/www/html/; chmod +s /var/www/cgi-bin/cduce;"
180 abate 172
181     build_website:
182 abate 260 rsh cedre ". .env; cd IMPLEM/CDUCE; make web/files"
183 abate 261 scp web/*.php web/cduce.css cduce@iris:public_html/
184 abate 286

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