/[svn]/cduce/trunk/Makefile
ViewVC logotype

Diff of /cduce/trunk/Makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 61 by abate, Tue Jul 10 17:02:11 2007 UTC revision 286 by abate, Tue Jul 10 17:22:36 2007 UTC
# Line 1  Line 1 
1  # Source directories  # Source directories
2    
3  DIRS = parser typing types runtime driver  DIRS = misc parser typing types runtime driver toplevel
4    CLEAN_DIRS = $(DIRS) tools tests
5    
6  # Objects to build  # Objects to build
7    
8  PARSER = parser/lexer.cmo parser/location.cmo parser/ast.cmo parser/parser.cmo  MISC = misc/state.cmo misc/pool.cmo misc/encodings.cmo misc/bool.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  TYPING = typing/typed.cmo typing/typer.cmo
15    
16  TYPES  = types/recursive.cmo types/sortedList.cmo \  TYPES  = \
17           types/sortedMap.cmo types/boolean.cmo \           types/sortedList.cmo types/sortedMap.cmo types/boolean.cmo \
18             types/ident.cmo \
19           types/intervals.cmo types/chars.cmo types/atoms.cmo \           types/intervals.cmo types/chars.cmo types/atoms.cmo \
20             types/normal.cmo \
21           types/types.cmo \           types/types.cmo \
22           types/patterns.cmo \           types/patterns.cmo \
23           types/sequence.cmo \           types/sequence.cmo \
24           types/builtin.cmo           types/builtin.cmo
25    
26  RUNTIME = runtime/value.cmo  RUNTIME = runtime/value.cmo \
27              runtime/load_xml.cmo runtime/run_dispatch.cmo \
28              runtime/print_xml.cmo \
29              runtime/eval.cmo
30    
31  DRIVER = driver/cduce.cmo  DRIVER = driver/cduce.cmo
32    
33  OBJECTS = $(TYPES) $(PARSER) $(TYPING) $(RUNTIME)  OBJECTS = $(MISC) $(TYPES) $(PARSER) $(TYPING) $(RUNTIME)
 XOBJECTS = $(OBJECTS:.cmo=.cmx)  
 XDRIVER = $(DRIVER:.cmo=.cmx)  
34    
35    CDUCE = $(OBJECTS) $(DRIVER) driver/run.cmo
36    WEBIFACE  = $(OBJECTS) $(DRIVER) driver/examples.cmo driver/webiface.cmo
37    TOPLEVEL = $(OBJECTS) toplevel/toploop.cmo
38    
39    XOBJECTS = $(OBJECTS:.cmo=.cmx)
40    XCDUCE = $(CDUCE:.cmo=.cmx)
41    XWEBIFACE =  $(WEBIFACE:.cmo=.cmx)
42    
43    
44  DEBUG = -g  DEBUG = -g
45  PACKAGES = pxp-engine,pxp-lex-iso88591,camlp4,num  PACKAGES = pxp-engine,pxp-lex-iso88591,wlexing,camlp4,num,cgi
46  OCAMLCP = ocamlc  OCAMLCP = ocamlc
47  OCAMLC = ocamlfind $(OCAMLCP) -package $(PACKAGES)  OCAMLC = ocamlfind $(OCAMLCP) -package $(PACKAGES)
48  OCAMLOPT = ocamlfind ocamlopt  -package $(PACKAGES)  OCAMLOPT = ocamlfind ocamlopt  -package $(PACKAGES)
49    # extra options:
50    #    -inline 25
51    #    -p (profiling)
52    #    -noassert
53    
54  DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)  DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)
55  INCLUDES = $(DIRS:%=-I %)  INCLUDES = $(DIRS:%=-I %)
# Line 46  Line 65 
65          $(OCAMLOPT) -a -o $@ $(XOBJECTS)          $(OCAMLOPT) -a -o $@ $(XOBJECTS)
66    
67    
68  cduce: $(OBJECTS) $(DRIVER)  OCAMLDEFUN = /home/frisch/defun/bin/ocamldefun
69          $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(OBJECTS) $(DRIVER)  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    cduce: $(CDUCE)
78            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(CDUCE)
79    
80    toplevel.out: $(TOPLEVEL)
81            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(TOPLEVEL)
82    
83    webiface: $(WEBIFACE)
84            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(WEBIFACE)
85    
86    
87    dtd2cduce: tools/dtd2cduce.cmo
88            $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
89    
90    pull: tools/pull.cmo
91            $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
92    
93    cduce.opt: $(XCDUCE)
94            $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XCDUCE)
95    
96  cduce.opt: all.cmxa $(XDRIVER)  webiface.opt: $(XWEBIFACE)
97          $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XOBJECTS) $(XDRIVER)          $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XWEBIFACE)
98    
99  compute_depend:  compute_depend:
100          @echo "Computing dependencies ..."          @echo "Computing dependencies ..."
101          ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend          ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend
102    
103    parser/wlexer.ml: parser/wlexer.mll
104            wlex parser/wlexer.mll
105    
106  run_top: all.cma  run_top: all.cma
107          ledit ocaml $(INCLUDES) `ocamlfind use pxp` all.cma          ledit ocaml $(INCLUDES) `ocamlfind use pxp` all.cma
108    
109  clean:  clean:
110          for i in $(DIRS); do \          for i in $(CLEAN_DIRS); do \
111          (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \          (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \
112          done          done
113            rm -f parser/wlexer.ml
114          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
115          rm -f cduce cduce.opt          rm -f cduce cduce.opt webiface.opt ocamlprof.dump
116            rm -f dtd2cduce pool webiface
117          rm -Rf prepro          rm -Rf prepro
118            rm -f web/*.php web/*~
119    
120    
121  .SUFFIXES: .ml .mli .cmo .cmi .cmx  .SUFFIXES: .ml .mli .cmo .cmi .cmx
# Line 82  Line 132 
132          fi; \          fi; \
133          done; \          done; \
134          done          done
135            cp parser/wlexer.mll prepro/parser/
136          cp Makefile depend prepro/          cp Makefile depend prepro/
137          (cd prepro;  make cduce OCAMLCP="ocamlcp -p a" SYNTAX_PARSER=)          (cd prepro;  make cduce OCAMLCP="ocamlcp -p a" SYNTAX_PARSER=)
138    
# Line 103  Line 154 
154          fort all.cma $(INCLUDES) tests/test_fort.ml          fort all.cma $(INCLUDES) tests/test_fort.ml
155    
156  include depend  include depend
157    
158    
159    driver/examples.ml: cduce.opt tests/web.cd tests/examples.xml
160            ./cduce.opt -quiet tests/web.cd
161    
162    
163    web/files: cduce.opt web/site.cd
164            (cd web; ../cduce.opt -quiet site.cd)
165    
166    
167    write_header:
168            headache -h header $(DEPEND)
169    
170    remove_header:
171            headache -r $(DEPEND)
172    
173    # Site-specific installation
174    build_web:
175            rsh cedre ". .env; cd IMPLEM/CDUCE; make webiface.opt"
176    install_web:
177            ssh cduce@iris.ens.fr "cp ~frisch/IMPLEM/CDUCE/webiface.opt cgi-bin/cduce2; chmod +s cgi-bin/cduce2"
178    install_web_local:
179            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    
181    build_website:
182            rsh cedre ". .env; cd IMPLEM/CDUCE; make web/files"
183            scp web/*.php web/cduce.css cduce@iris:public_html/
184    

Legend:
Removed from v.61  
changed lines
  Added in v.286

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