/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 423 - (hide annotations)
Tue Jul 10 17:33:34 2007 UTC (5 years, 11 months ago) by abate
File size: 4359 byte(s)
[r2003-05-25 11:12:58 by cvscast] Display of samples

Original author: cvscast
Date: 2003-05-25 11:13:31+00:00
1 abate 402 NATIVE = true
2     PROFILE = false
3     PXP_WLEX = false
4 abate 22
5 abate 402 PACKAGES = -package "pxp-engine pxp-lex-iso88591 wlexing camlp4 num cgi"
6     ifeq ($(PXP_WLEX), true)
7     PACKAGES += -package pxp-wlex-utf8
8     else
9     PACKAGES += -package pxp-lex-utf8
10     endif
11 abate 61
12 abate 402 SYNTAX = camlp4o pa_extend.cmo
13 abate 61
14 abate 402 ifeq ($(PROFILE), true)
15     CAMLC_P = ocamlcp -p a
16     CAMLOPT_P = ocamlopt -p
17     SYNTAX_PARSER =
18     else
19     CAMLC_P = ocamlc
20     CAMLOPT_P = ocamlopt
21     SYNTAX_PARSER = -pp '$(SYNTAX)'
22     endif
23 abate 78
24 abate 402 CAMLC = ocamlfind $(CAMLC_P) $(PACKAGES)
25     CAMLOPT = ocamlfind $(CAMLOPT_P) $(PACKAGES)
26    
27     ifeq ($(NATIVE), true)
28     EXTENSION = cmx
29     LINK = $(CAMLOPT) -linkpkg gramlib.cmxa
30     else
31     EXTENSION = cmo
32     LINK = $(CAMLC) -custom -linkpkg gramlib.cma
33     endif
34    
35     all: cduce dtd2cduce local_website
36    
37 abate 368 # Source directories
38 abate 1
39 abate 368 DIRS = misc parser typing types runtime driver
40     CLEAN_DIRS = $(DIRS) tools tests
41 abate 4
42 abate 368 # Objects to build
43 abate 3
44 abate 368 OBJECTS = \
45     misc/state.cmo misc/pool.cmo misc/encodings.cmo misc/bool.cmo \
46     misc/pretty.cmo \
47     \
48     types/sortedList.cmo types/boolean.cmo types/ident.cmo \
49     types/intervals.cmo types/chars.cmo types/atoms.cmo types/normal.cmo \
50 abate 421 types/types.cmo types/patterns.cmo types/sequence.cmo \
51 abate 407 types/sample.cmo \
52 abate 368 \
53     parser/location.cmo parser/wlexer.cmo parser/ast.cmo parser/parser.cmo \
54     \
55     typing/typed.cmo typing/typer.cmo \
56     \
57     runtime/value.cmo runtime/load_xml.cmo runtime/run_dispatch.cmo \
58     runtime/print_xml.cmo runtime/eval.cmo \
59     \
60 abate 421 types/builtin.cmo driver/cduce.cmo
61 abate 45
62 abate 368 CDUCE = $(OBJECTS) driver/run.cmo
63     WEBIFACE = $(OBJECTS) driver/examples.cmo driver/webiface.cmo
64 abate 402 DTD2CDUCE = tools/dtd2cduce.cmo
65 abate 3
66 abate 61 DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)
67     INCLUDES = $(DIRS:%=-I %)
68    
69     PREPRO = $(SYNTAX) pr_o.cmo
70    
71 abate 402 cduce: $(CDUCE:.cmo=.$(EXTENSION))
72     $(LINK) -o $@ $^
73 abate 10
74 abate 402 webiface: $(WEBIFACE:.cmo=.$(EXTENSION))
75     $(LINK) -o $@ $^
76 abate 63
77 abate 402 dtd2cduce: $(DTD2CDUCE:.cmo=.$(EXTENSION))
78     $(LINK) -o $@ $^
79 abate 71
80 abate 402 .PHONY: compute_depend
81 abate 3 compute_depend:
82     @echo "Computing dependencies ..."
83 abate 4 ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend
84 abate 1
85 abate 81 parser/wlexer.ml: parser/wlexer.mll
86     wlex parser/wlexer.mll
87    
88 abate 1 clean:
89 abate 72 for i in $(CLEAN_DIRS); do \
90 abate 58 (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \
91     done
92 abate 423 rm -f `find -name "*~"`
93 abate 58 rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
94 abate 402 rm -f cduce ocamlprof.dump
95 abate 90 rm -f dtd2cduce pool webiface
96 abate 368 rm -Rf prepro package
97 abate 381 rm -f web/www/*.php web/www/*.html web/*~
98 abate 1
99 abate 61
100 abate 1 .SUFFIXES: .ml .mli .cmo .cmi .cmx
101    
102     .ml.cmo:
103 abate 402 $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<
104 abate 61
105 abate 1 .ml.cmx:
106 abate 402 $(CAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
107 abate 1
108     .mli.cmi:
109 abate 402 $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<
110 abate 1
111 abate 3 include depend
112 abate 105
113 abate 368 # CDuce-generated files
114 abate 105
115 abate 402 driver/examples.ml: cduce web/examples/build.cd web/examples/examples.xml
116 abate 414 (cd web/examples; ../../cduce --quiet build.cd)
117 abate 126
118 abate 402 web/files: cduce web/site.cd
119 abate 414 (cd web; ../cduce --quiet site.cd --arg -php site.xml)
120 abate 255
121 abate 368 # Packaging
122 abate 286
123     write_header:
124     headache -h header $(DEPEND)
125    
126     remove_header:
127     headache -r $(DEPEND)
128    
129 abate 368 # For development
130    
131 abate 402 pull: tools/pull.$(EXTENSION)
132     $(LINK) -o $@ $^
133 abate 368
134     profile:
135     rm -Rf prepro
136     mkdir prepro
137     for i in $(DIRS); do \
138     mkdir prepro/$$i; \
139     for j in $$i/*.ml $$i/*.mli; do \
140     if [ -f "$$j" ]; then \
141     echo $$j; \
142     $(PREPRO) $$j -o prepro/$$j; \
143     fi; \
144     done; \
145     done
146     cp parser/wlexer.mll prepro/parser/
147     cp Makefile depend prepro/
148 abate 402 (cd prepro; make cduce PROFILE=true SYNTAX_PARSER= NATIVE=false)
149 abate 368
150 abate 105 # Site-specific installation
151 abate 369
152     cedre_build:
153 abate 402 rsh cedre ". .env; cd IMPLEM/CDUCE; make webiface; make web/files"
154 abate 105 install_web:
155 abate 381 scp web/www/*.php web/cduce.css cduce@iris:public_html/
156 abate 402 scp webiface cduce@iris:cgi-bin/cduce
157 abate 369 ssh cduce@iris "chmod +s cgi-bin/cduce"
158    
159 abate 417 #
160     # Customize the following variables to match the settings
161     # of your local web server
162     #
163     WEB_PREFIX = /var/www
164     CGI_DIR = $(WEB_PREFIX)/cgi-bin
165     CDUCE_HTML_DIR = $(WEB_PREFIX)/html
166 abate 172
167 abate 419 install_web_local:web/files webiface
168     cp web/www/*.php web/cduce.css $(CDUCE_HTML_DIR)/
169     cp webiface $(CGI_DIR)/
170     if test ! -d "$(CDUCE_HTML_DIR)/img" ; then \
171     mkdir $(CDUCE_HTML_DIR)/img; \
172     fi;
173     cp web/img/*.* $(CDUCE_HTML_DIR)/img
174 abate 417
175 abate 369 website: web/files
176 abate 381 scp web/www/*.php web/cduce.css cduce@iris:public_html/
177 abate 286
178 abate 402 local_website: cduce
179 abate 414 (cd web; ../cduce --quiet site.cd --arg site.xml)
180 abate 370
181 abate 368 # Distribution
182    
183 abate 402 DISTRIB = $(DIRS) tools web depend INSTALL CHANGES LICENSE README Makefile
184    
185 abate 368 .PHONY: package
186     package:
187     rm -Rf package
188     mkdir package
189     cp -R $(DISTRIB) package/
190 abate 423 (cd package; headache -h ../header $(DEPEND); rm -Rf `find -name "CVS"`)
191 abate 370

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