/[svn]/Makefile
ViewVC logotype

Contents of /Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 417 - (hide annotations)
Tue Jul 10 17:33:00 2007 UTC (5 years, 11 months ago) by abate
File size: 4234 byte(s)
[r2003-05-25 09:18:21 by cvscast] Beppe: changed installation of local web

Original author: cvscast
Date: 2003-05-25 09:18:21+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     types/types.cmo types/patterns.cmo types/sequence.cmo types/builtin.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     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     rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
93 abate 402 rm -f cduce ocamlprof.dump
94 abate 90 rm -f dtd2cduce pool webiface
95 abate 368 rm -Rf prepro package
96 abate 381 rm -f web/www/*.php web/www/*.html web/*~
97 abate 1
98 abate 61
99 abate 1 .SUFFIXES: .ml .mli .cmo .cmi .cmx
100    
101     .ml.cmo:
102 abate 402 $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<
103 abate 61
104 abate 1 .ml.cmx:
105 abate 402 $(CAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
106 abate 1
107     .mli.cmi:
108 abate 402 $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<
109 abate 1
110 abate 3 include depend
111 abate 105
112 abate 368 # CDuce-generated files
113 abate 105
114 abate 402 driver/examples.ml: cduce web/examples/build.cd web/examples/examples.xml
115 abate 414 (cd web/examples; ../../cduce --quiet build.cd)
116 abate 126
117 abate 402 web/files: cduce web/site.cd
118 abate 414 (cd web; ../cduce --quiet site.cd --arg -php site.xml)
119 abate 255
120 abate 368 # Packaging
121 abate 286
122     write_header:
123     headache -h header $(DEPEND)
124    
125     remove_header:
126     headache -r $(DEPEND)
127    
128 abate 368 # For development
129    
130 abate 402 pull: tools/pull.$(EXTENSION)
131     $(LINK) -o $@ $^
132 abate 368
133     profile:
134     rm -Rf prepro
135     mkdir prepro
136     for i in $(DIRS); do \
137     mkdir prepro/$$i; \
138     for j in $$i/*.ml $$i/*.mli; do \
139     if [ -f "$$j" ]; then \
140     echo $$j; \
141     $(PREPRO) $$j -o prepro/$$j; \
142     fi; \
143     done; \
144     done
145     cp parser/wlexer.mll prepro/parser/
146     cp Makefile depend prepro/
147 abate 402 (cd prepro; make cduce PROFILE=true SYNTAX_PARSER= NATIVE=false)
148 abate 368
149 abate 105 # Site-specific installation
150 abate 369
151     cedre_build:
152 abate 402 rsh cedre ". .env; cd IMPLEM/CDUCE; make webiface; make web/files"
153 abate 105 install_web:
154 abate 381 scp web/www/*.php web/cduce.css cduce@iris:public_html/
155 abate 402 scp webiface cduce@iris:cgi-bin/cduce
156 abate 369 ssh cduce@iris "chmod +s cgi-bin/cduce"
157    
158 abate 417 #
159     # Customize the following variables to match the settings
160     # of your local web server
161     #
162     WEB_PREFIX = /var/www
163     CGI_DIR = $(WEB_PREFIX)/cgi-bin
164     CDUCE_HTML_DIR = $(WEB_PREFIX)/html
165 abate 172
166 abate 417 install_web_local: web/files
167     scp -r web/www/*.php web/cduce.css web/img root@localhost:$(CDUCE_HTML_DIR)
168     scp webiface root@localhost:$(CGI_DIR)
169    
170    
171 abate 369 website: web/files
172 abate 381 scp web/www/*.php web/cduce.css cduce@iris:public_html/
173 abate 286
174 abate 402 local_website: cduce
175 abate 414 (cd web; ../cduce --quiet site.cd --arg site.xml)
176 abate 370
177 abate 368 # Distribution
178    
179 abate 402 DISTRIB = $(DIRS) tools web depend INSTALL CHANGES LICENSE README Makefile
180    
181 abate 368 .PHONY: package
182     package:
183     rm -Rf package
184     mkdir package
185     cp -R $(DISTRIB) package/
186 abate 370 (cd package; headache -h ../header $(DEPEND))
187    

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