/[svn]/Makefile
ViewVC logotype

Diff of /Makefile

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

revision 38 by abate, Tue Jul 10 16:59:59 2007 UTC revision 245 by abate, Tue Jul 10 17:18:53 2007 UTC
# Line 1  Line 1 
1  DEBUG = -g  # Source directories
2  OCAMLC = ocamlc  
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 parser/ast.cmo parser/parser.cmo  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 \
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  DIRS = parser typing types driver  OBJECTS = $(MISC) $(TYPES) $(PARSER) $(TYPING) $(RUNTIME)
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    
 OBJECTS = $(TYPES) $(PARSER) $(TYPING)  
39  XOBJECTS = $(OBJECTS:.cmo=.cmx)  XOBJECTS = $(OBJECTS:.cmo=.cmx)
40  XDRIVER = $(DRIVER:.cmo=.cmx)  XCDUCE = $(CDUCE:.cmo=.cmx)
41    
42    
 DEPEND = parser/*.ml parser/*.mli typing/*.ml typing/*.mli types/*.ml types/*.mli driver/*.mli driver/*.ml  
 INCLUDES = -I +camlp4 -I parser -I types -I typing  
43    
44  SYNTAX_PARSER = -pp 'camlp4o pa_extend.cmo'  DEBUG = -g
45    PACKAGES = pxp-engine,pxp-lex-iso88591,wlexing,camlp4,num,cgi
46    OCAMLCP = ocamlc
47    OCAMLC = ocamlfind $(OCAMLCP) -package $(PACKAGES)
48    OCAMLOPT = ocamlfind ocamlopt -package $(PACKAGES)
49    # extra options:
50    #    -inline 25
51    #    -p (profiling)
52    #    -noassert
53    
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  all.cma: $(OBJECTS)  all.cma: $(OBJECTS)
62          $(OCAMLC) $(DEBUG) -o all.cma -I +camlp4 gramlib.cma nums.cma -a $(OBJECTS)          $(OCAMLC) $(DEBUG) -o $@ -linkpkg gramlib.cma -a $(OBJECTS)
63    
64  all.cmxa: $(XOBJECTS)  all.cmxa: $(XOBJECTS)
65          ocamlopt -a -o all.cmxa $(XOBJECTS)          $(OCAMLOPT) -a -o $@ $(XOBJECTS)
66    
67    
68    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    memento.html: cduce tests/memento.cd tests/memento.xml
78            ./cduce -quiet tests/memento.cd
79    
80    cduce: $(CDUCE)
81            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(CDUCE)
82    
83    toplevel.out: $(TOPLEVEL)
84            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(TOPLEVEL)
85    
86    webiface: $(WEBIFACE)
87            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(WEBIFACE)
88    
 cduce: all.cma $(DRIVER)  
         $(OCAMLC) $(DEBUG) -o cduce all.cma $(DRIVER)  
89    
90  cduce.opt: all.cmxa $(XDRIVER)  dtd2cduce: tools/dtd2cduce.cmo
91          ocamlopt -o cduce.opt -I +camlp4 gramlib.cmxa nums.cmxa all.cmxa $(XDRIVER)          $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
92    
93    pull: tools/pull.cmo
94            $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
95    
96    cduce.opt: $(XCDUCE)
97            $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XCDUCE)
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) all.cma          ledit ocaml $(INCLUDES) `ocamlfind use pxp` all.cma
108    
109  clean:  clean:
110          (cd parser; rm -f *.cmi *.cmo *.cma *.cmx *.o *~)          for i in $(CLEAN_DIRS); do \
111          (cd types; rm -f *.cmi *.cmo *.cma *.cmx *.o *~)          (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \
112          (cd typing; rm -f *.cmi *.cmo *.cma *.cmx *.o *~)          done
113          (cd driver; rm -f *.cmi *.cmo *.cma *.cmx *.o *~)          rm -f parser/wlexer.ml
114          rm -f *.cmi *.cmo *.cma *.cmx *.o *~          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
115          rm -f cduce          rm -f cduce cduce.opt ocamlprof.dump
116            rm -f dtd2cduce pool webiface
117            rm -Rf prepro
118            rm -f web/index.html
119    
120    
121  .SUFFIXES: .ml .mli .cmo .cmi .cmx  .SUFFIXES: .ml .mli .cmo .cmi .cmx
122    
123    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            cp parser/wlexer.mll prepro/parser/
136            cp Makefile depend prepro/
137            (cd prepro;  make cduce OCAMLCP="ocamlcp -p a" SYNTAX_PARSER=)
138    
139  .ml.cmo:  .ml.cmo:
140          $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<          $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
141    
142  .ml.cmx:  .ml.cmx:
143          ocamlopt -c $(SYNTAX_PARSER) $(INCLUDES) $<          $(OCAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
144    
145  .mli.cmi:  .mli.cmi:
146          $(OCAMLC) $(DEBUG) -c $(INCLUDES) $<          $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
147    
148  # FORTPATH = /users/formel8/frisch/solaris/fort/fort  # FORTPATH = /users/formel8/frisch/solaris/fort/fort
149  FORTPATH = /home/frisch/fort  #FORTPATH = /home/frisch/fort
150  FORTBIN = $(FORTPATH)/fort  #FORTBIN = $(FORTPATH)/fort
151  FORTLIB = $(FORTPATH)  #FORTLIB = $(FORTPATH)
152    
153  test: all.cma  test: all.cma
154          $(FORTBIN) -I $(FORTLIB) all.cma test_fort.ml          fort all.cma $(INCLUDES) tests/test_fort.ml
155    
156  include depend  include depend
157    
158    
159    driver/examples.ml: cduce tests/web.cd tests/examples.xml
160            ./cduce -quiet tests/web.cd
161    
162    web/index.html: cduce web/macros.cd web/index.xml
163            (cd web; ../cduce -quiet macros.cd)
164    
165    # Site-specific installation
166    build_web:
167            rsh cedre ". .env; cd IMPLEM/CDUCE; make webiface memento.html"
168    install_web:
169            ssh cduce@iris "cp ~frisch/IMPLEM/CDUCE/webiface cgi-bin/cduce2; cp ~frisch/IMPLEM/CDUCE/memento.html public_html/; chmod +s cgi-bin/cduce2"
170    install_web_local:
171            ssh root@localhost "cp ~beppe/IMPLEM/CDUCE/webiface /var/www/cgi-bin/cduce; cp ~beppe/IMPLEM/CDUCE/memento.html /var/www/html/; chmod +s /var/www/cgi-bin/cduce; cp ~beppe/IMPLEM/CDUCE/web/index.html /var/www/html"
172    
173    build_website:
174            rsh cedre ". .env; cd IMPLEM/CDUCE; make web/index.html"
175            scp web/index.html web/cduce.css cduce@iris:public_html/
176    
177    

Legend:
Removed from v.38  
changed lines
  Added in v.245

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