/[svn]/Makefile
ViewVC logotype

Diff of /Makefile

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

revision 20 by abate, Tue Jul 10 16:58:41 2007 UTC revision 76 by abate, Tue Jul 10 17:04:07 2007 UTC
# Line 1  Line 1 
1  PARSER = parser/location.cmo parser/ast.cmo parser/parser.cmo  # Source directories
2    
3    DIRS = parser typing types runtime driver
4    CLEAN_DIRS = $(DIRS) tools tests
5    
6    # Objects to build
7    
8    PARSER = parser/lexer.cmo parser/location.cmo parser/ast.cmo parser/parser.cmo
9    
10  TYPING = typing/typed.cmo typing/typer.cmo  TYPING = typing/typed.cmo typing/typer.cmo
11    
12  TYPES  = types/recursive.cmo types/sortedList.cmo \  TYPES  = types/recursive.cmo \
13           types/sortedMap.cmo types/boolean.cmo \           types/recursive_share.cmo types/recursive_noshare.cmo \
14             types/sortedList.cmo types/sortedMap.cmo types/boolean.cmo \
15           types/intervals.cmo types/chars.cmo types/atoms.cmo \           types/intervals.cmo types/chars.cmo types/atoms.cmo \
16           types/types.cmo \           types/types.cmo \
17           types/patterns.cmo \           types/patterns.cmo \
18           types/sequence.cmo \           types/sequence.cmo \
19           types/builtin.cmo           types/builtin.cmo
20    
21    RUNTIME = runtime/value.cmo \
22              runtime/load_xml.cmo runtime/run_dispatch.cmo \
23              runtime/print_xml.cmo \
24              runtime/eval.cmo
25    
26  DRIVER = driver/cduce.cmo  DRIVER = driver/cduce.cmo
27    
28  DIRS = parser typing types driver  TOPLEVEL = toplevel/toploop.cmo
29    
30  OBJECTS = $(TYPES) $(PARSER) $(TYPING)  OBJECTS = $(TYPES) $(PARSER) $(TYPING) $(RUNTIME)
31  XOBJECTS = $(OBJECTS:.cmo=.cmx)  XOBJECTS = $(OBJECTS:.cmo=.cmx)
32  XDRIVER = $(DRIVER:.cmo=.cmx)  XDRIVER = $(DRIVER:.cmo=.cmx)
33    
 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  
34    
35  SYNTAX_PARSER = -pp 'camlp4o pa_extend.cmo'  
36    DEBUG = -g
37    PACKAGES = pxp-engine,pxp-lex-iso88591,camlp4,num
38    OCAMLCP = ocamlc
39    OCAMLC = ocamlfind $(OCAMLCP) -package $(PACKAGES)
40    OCAMLOPT = ocamlfind ocamlopt  -package $(PACKAGES)
41    
42    DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)
43    INCLUDES = $(DIRS:%=-I %)
44    
45    SYNTAX = camlp4o pa_extend.cmo
46    SYNTAX_PARSER = -pp '$(SYNTAX)'
47    PREPRO = $(SYNTAX) pr_o.cmo
48    
49  all.cma: $(OBJECTS)  all.cma: $(OBJECTS)
50          ocamlc -g -o all.cma -I +camlp4 gramlib.cma nums.cma -a $(OBJECTS)          $(OCAMLC) $(DEBUG) -o $@ -linkpkg gramlib.cma -a $(OBJECTS)
51    
52  all.cmxa: $(XOBJECTS)  all.cmxa: $(XOBJECTS)
53          ocamlopt -o all.cmxa -I +camlp4 -a $(XOBJECTS)          $(OCAMLOPT) -a -o $@ $(XOBJECTS)
54    
55    
56    cduce: $(OBJECTS) $(DRIVER)
57            $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(OBJECTS) $(DRIVER)
58    
59  cduce: all.cma $(DRIVER)  toplevel: $(OBJECTS) $(TOPLEVEL)
60          ocamlc -g -o cduce all.cma $(DRIVER)          $(OCAMLC) $(DEBUG) -linkpkg -o $@ gramlib.cma $(OBJECTS) $(TOPLEVEL)
61    
62    
63    dtd2cduce: tools/dtd2cduce.cmo
64            $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
65    
66    pull: tools/pull.cmo
67            $(OCAMLC) $(DEBUG) -linkpkg -o $@ $<
68    
69  cduce.opt: all.cmxa $(XDRIVER)  cduce.opt: all.cmxa $(XDRIVER)
70          ocamlopt -o cduce.opt -I +camlp4 gramlib.cmxa nums.cmxa all.cmxa $(XDRIVER)          $(OCAMLOPT) -linkpkg -o $@ gramlib.cmxa $(XOBJECTS) $(XDRIVER)
71    
72  compute_depend:  compute_depend:
73          @echo "Computing dependencies ..."          @echo "Computing dependencies ..."
74          ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend          ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend
75    
76  run_top: all.cma  run_top: all.cma
77          ledit ocaml $(INCLUDES) all.cma          ledit ocaml $(INCLUDES) `ocamlfind use pxp` all.cma
78    
79  clean:  clean:
80          (cd parser; rm -f *.cmi *.cmo *.cma *~)          for i in $(CLEAN_DIRS); do \
81          (cd types; rm -f *.cmi *.cmo *.cma *~)          (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \
82          (cd typing; rm -f *.cmi *.cmo *.cma *~)          done
83          (cd driver; rm -f *.cmi *.cmo *.cma *~)          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~
84          rm -f *.cmi *.cmo *.cma *~          rm -f cduce cduce.opt ocamlprof.dump
85          rm -f cduce          rm -f dtd2cduce pool
86            rm -Rf prepro
87    
88    
89  .SUFFIXES: .ml .mli .cmo .cmi .cmx  .SUFFIXES: .ml .mli .cmo .cmi .cmx
90    
91    profile:
92            rm -Rf prepro
93            mkdir prepro
94            for i in $(DIRS); do \
95            mkdir prepro/$$i; \
96            for j in $$i/*.ml $$i/*.mli; do \
97            if [ -f "$$j" ]; then \
98             echo $$j; \
99             $(PREPRO) $$j -o prepro/$$j; \
100            fi; \
101            done; \
102            done
103            cp Makefile depend prepro/
104            (cd prepro;  make cduce OCAMLCP="ocamlcp -p a" SYNTAX_PARSER=)
105    
106  .ml.cmo:  .ml.cmo:
107          ocamlc -g -c $(SYNTAX_PARSER) $(INCLUDES) $<          $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
108    
109  .ml.cmx:  .ml.cmx:
110          ocamlopt -c $(SYNTAX_PARSER) $(INCLUDES) $<          $(OCAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
111    
112  .mli.cmi:  .mli.cmi:
113          ocamlc -g -c $(INCLUDES) $<          $(OCAMLC) $(DEBUG) -c $(SYNTAX_PARSER) $(INCLUDES) $<
114    
115  # FORTPATH = /users/formel8/frisch/solaris/fort/fort  # FORTPATH = /users/formel8/frisch/solaris/fort/fort
116  FORTPATH = /home/frisch/fort  #FORTPATH = /home/frisch/fort
117  FORTBIN = $(FORTPATH)/fort  #FORTBIN = $(FORTPATH)/fort
118  FORTLIB = $(FORTPATH)  #FORTLIB = $(FORTPATH)
119    
120  test: all.cma  test: all.cma
121          $(FORTBIN) -I $(FORTLIB) all.cma test_fort.ml          fort all.cma $(INCLUDES) tests/test_fort.ml
122    
123  include depend  include depend

Legend:
Removed from v.20  
changed lines
  Added in v.76

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