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

Diff of /cduce/trunk/Makefile.distrib

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

Makefile.distrib revision 1628 by abate, Tue Jul 10 19:09:24 2007 UTC cduce/trunk/Makefile.distrib revision 1956 by abate, Wed Jul 11 13:01:15 2007 UTC
# Line 1  Line 1 
1    default: cduce
2    
3  include Makefile.conf  include Makefile.conf
4  VERSION = 0.3.2  include VERSION
5    
6    
7  ALL_TARGET=cduce cduce_lib.cma  ALL_TARGET=cduce cduce_lib.cma
8  INSTALL_BINARIES=cduce$(EXE)  INSTALL_BINARIES=cduce$(EXE)
9    
10  ifneq ($(ML_INTERFACE), false)  ifneq ($(ML_INTERFACE), false)
11    ALL_TARGET += cdo2ml mlcduce_wrapper    INSTALL_BINARIES += cduce_mktop
   INSTALL_BINARIES += cdo2ml$(EXE) mlcduce_wrapper$(EXE) cduce_mktop  
12  endif  endif
13    
14    
 all: $(ALL_TARGET)  
15  ifeq ($(NATIVE),true)  ifeq ($(NATIVE),true)
16  all: cduce_lib.cmxa  all: cduce_lib.cmxa
17  endif  endif
18    
19  PACKAGES = ulex camlp4 cgi pcre num netstring  PACKAGES = camlp4 ulex pcre num netstring cgi
20    
21  # Call make with VERBOSE=true to get a trace of commands  # Call make with VERBOSE=true to get a trace of commands
22    
# Line 31  Line 32 
32  SYNTAX = -I misc/ q_symbol.cmo \  SYNTAX = -I misc/ q_symbol.cmo \
33    -symbol cduce_version=\"$(VERSION)\" \    -symbol cduce_version=\"$(VERSION)\" \
34    -symbol build_date=\"$(shell date +%Y-%m-%d)\" \    -symbol build_date=\"$(shell date +%Y-%m-%d)\" \
35    -symbol session_dir=\"$(SESSION_DIR)\"    -symbol session_dir=\"$(SESSION_DIR)\" \
36      -loc "_loc"
37    
38  SYNTAX_PARSER = -syntax camlp4o $(SYNTAX:%=-ppopt %)  SYNTAX_PARSER = -syntax camlp4o $(SYNTAX:%=-ppopt %)
39    
40  CAMLC_P = ocamlc -g  CAMLC_P = ocamlc -g
41  DEPEND_OCAMLDEP = misc/q_symbol.cmo  DEPEND_OCAMLDEP = misc/q_symbol.cmo
42  ifeq ($(PROFILE), true)  ifeq ($(PROFILE), true)
43    CAMLOPT_P = ocamlopt -p    CAMLOPT_P = ocamlopt -p -inline 10000
44    ifeq ($(NATIVE), false)    ifeq ($(NATIVE), false)
45      CAMLC_P = ocamlcp -p a      CAMLC_P = ocamlcp -p a
46      SYNTAX_PARSER =      SYNTAX_PARSER =
47      DEPEND_OCAMLDEP =      DEPEND_OCAMLDEP =
48    endif    endif
49  else  else
50    CAMLOPT_P = ocamlopt -inline 25    CAMLOPT_P = ocamlopt -inline 10000
51  endif  endif
52    
53  OPT = -warn-error FPS  OPT = -warn-error FPSXY
54  ANNOT =  ANNOT =
55  INTERFACE =  INTERFACE =
56  ifeq ($(ANNOT), true)  ifeq ($(ANNOT), true)
# Line 66  Line 68 
68    EXTENSION_LIB = cmxa    EXTENSION_LIB = cmxa
69    CAML=ocamlopt    CAML=ocamlopt
70    COMPILE = $(CAMLOPT)    COMPILE = $(CAMLOPT)
71    LINK = $(CAMLOPT) -linkpkg gramlib.cmxa    LINK = $(CAMLOPT) -linkpkg
72      ifeq ($(NATDYNLINK), true)
73        LINK += dynlink.cmxa
74      endif
75      LINK += camlp4lib.cmxa
76    SYNTAX += -symbol ocaml_compiler=\"native\"    SYNTAX += -symbol ocaml_compiler=\"native\"
77  else  else
78    EXTENSION = cmo    EXTENSION = cmo
79    EXTENSION_LIB = cma    EXTENSION_LIB = cma
80    COMPILE = $(CAMLC)    COMPILE = $(CAMLC)
81    CAML=ocamlc    CAML=ocamlc
82    LINK = $(CAMLC) -custom -linkpkg gramlib.cma    LINK = $(CAMLC) -custom -linkpkg camlp4lib.cma
83    SYNTAX += -symbol ocaml_compiler=\"bytecode\"    SYNTAX += -symbol ocaml_compiler=\"bytecode\"
84  endif  endif
85    
86    ifeq ($(FORPACK),true)
87      FORPACKOPT=-passopt -for-pack -passopt Cduce_lib
88    else
89      FORPACKOPT=
90    endif
91    
92  INSTALL := install  INSTALL := install -c
93    
94  ifeq ($(NATIVE),true)  ifeq ($(NATIVE),true)
95  .PHONY: cduce_lib.cma  .PHONY: cduce_lib.cma
# Line 103  Line 114 
114    
115    
116  uninstall:  uninstall:
117          rm -f $(BINDIR)/cduce$(EXE) \          rm -f $(BINDIR)/cduce$(EXE) $(BINDIR)/cduce_mktop
118            $(BINDIR)/cdo2ml$(EXE) \          rm -f $(MANDIR)/man1/cduce.1
           $(BINDIR)/mlcduce_wrapper$(EXE) $(BINDIR)/cduce_mktop  
         rm -f $(MANDIR)/man1/cduce.1 \  
           $(MANDIR)/man1/cdo2ml.1  
119          rm -Rf $(DOCDIR)          rm -Rf $(DOCDIR)
120          ocamlfind remove cduce          ocamlfind remove cduce
121    
# Line 124  Line 132 
132  # Source directories  # Source directories
133    
134  DIRS = misc parser schema typing types compile runtime driver query ocamliface  DIRS = misc parser schema typing types compile runtime driver query ocamliface
135  CLEAN_DIRS = $(DIRS) cdo2cmo tools tests  CLEAN_DIRS = $(DIRS) tools tests
136    
137  # Objects to build  # Objects to build
138    
 SCHEMA_OBJS = \  
  schema/schema_pcre.cmo \  
  schema/schema_types.cmo \  
  schema/schema_xml.cmo \  
  schema/schema_common.cmo \  
  schema/schema_builtin.cmo \  
  schema/schema_validator.cmo \  
  schema/schema_parser.cmo \  
  schema/schema_converter.cmo  
   
139  OBJECTS = \  OBJECTS = \
140   driver/config.cmo \   driver/cduce_config.cmo misc/stats.cmo misc/custom.cmo misc/encodings.cmo \
141   misc/stats.cmo \   misc/upool.cmo misc/pretty.cmo misc/ns.cmo misc/imap.cmo misc/html.cmo \
  misc/serialize.cmo misc/custom.cmo \  
  misc/state.cmo misc/pool.cmo misc/encodings.cmo misc/bool.cmo \  
  misc/pretty.cmo misc/ns.cmo misc/inttbl.cmo misc/imap.cmo \  
  misc/html.cmo \  
142   \   \
143   types/sortedList.cmo types/boolean.cmo types/ident.cmo \   types/compunit.cmo types/sortedList.cmo misc/bool.cmo types/ident.cmo \
144   types/intervals.cmo \   types/intervals.cmo types/chars.cmo types/atoms.cmo types/normal.cmo \
145   types/chars.cmo types/atoms.cmo \   types/types.cmo compile/auto_pat.cmo \
146   types/normal.cmo \   types/sequence.cmo types/builtin_defs.cmo \
  types/types.cmo types/sample.cmo types/sequence.cmo types/patterns.cmo \  
  types/builtin_defs.cmo \  
147   \   \
  compile/lambda.cmo \  
148   runtime/value.cmo \   runtime/value.cmo \
149   \   \
150   parser/location.cmo  parser/url.cmo \   schema/schema_pcre.cmo schema/schema_types.cmo \
151     schema/schema_xml.cmo schema/schema_common.cmo \
152     schema/schema_builtin.cmo schema/schema_validator.cmo \
153    \    \
154   parser/ulexer.cmo parser/ast.cmo parser/parser.cmo \   types/patterns.cmo \
155     compile/print_auto.cmo \
156   \   \
157   types/externals.cmo \   compile/lambda.cmo \
158   typing/typed.cmo typing/typer.cmo \   runtime/run_dispatch.cmo runtime/explain.cmo runtime/eval.cmo \
159   \   \
160   $(SCHEMA_OBJS) \   parser/cduce_loc.cmo  parser/url.cmo \
161     parser/ulexer.cmo parser/ast.cmo parser/parser.cmo \
162   \   \
163   runtime/load_xml.cmo runtime/run_dispatch.cmo \   typing/typed.cmo typing/typepat.cmo types/externals.cmo typing/typer.cmo \
  runtime/explain.cmo \  
  runtime/print_xml.cmo runtime/eval.cmo \  
164   compile/compile.cmo \   compile/compile.cmo \
  compile/operators.cmo \  
165   \   \
166   types/builtin.cmo \   schema/schema_parser.cmo schema/schema_converter.cmo \
167   driver/librarian.cmo \   runtime/load_xml.cmo runtime/print_xml.cmo compile/operators.cmo types/builtin.cmo \
168     driver/librarian.cmo types/sample.cmo \
169   driver/cduce.cmo \   driver/cduce.cmo \
170   runtime/system.cmo   \
171     runtime/system.cmo query/query_aggregates.cmo
172    
173  schema/schema_types.ml: schema/schema_types.mli  schema/schema_types.ml: schema/schema_types.mli
174          cp $^ $@          cp $^ $@
175    compile/auto_pat.ml: compile/auto_pat.mli
176            cp $^ $@
177    compile/lambda.ml: compile/lambda.mli
178            cp $^ $@
179    
180  ML_INTERFACE_OBJS = \  ML_INTERFACE_OBJS = \
181    ocamliface/caml_cduce.cmo \    ocamliface/caml_cduce.cmo \
# Line 206  Line 204 
204  ifeq ($(PXP),true)  ifeq ($(PXP),true)
205    OBJECTS += runtime/cduce_pxp.cmo    OBJECTS += runtime/cduce_pxp.cmo
206    PACKAGES += $(PXP_PACK)    PACKAGES += $(PXP_PACK)
207      ALL_TARGET += dtd2cduce
208      INSTALL_BINARIES += dtd2cduce
209  endif  endif
210  ifeq ($(EXPAT), true)  ifeq ($(EXPAT), true)
211    OBJECTS += runtime/cduce_expat.cmo    OBJECTS += runtime/cduce_expat.cmo
# Line 213  Line 213 
213  endif  endif
214    
215    
216  #CQL_OBJECTS= query/query_aggregates.cmo query/query.cmo query/query_parse.cmo  all: $(ALL_TARGET)
 #CQL_OBJECTS_RUN = query/query_run.cmo  
 CQL_OBJECTS= query/query_aggregates.cmo  
 CQL_OBJECTS_RUN=  
   
 OBJECTS += $(CQL_OBJECTS)  
   
 VALIDATE_OBJECTS := $(shell for o in $(OBJECTS); do echo $$o; if [ "$$o" = "schema/schema_parser.cmo" ]; then exit 0; fi; done) # all objects until schema_parser.cmo  
217    
 OBJECTS += $(CQL_OBJECTS_RUN)  
218  OBJECTS += driver/run.cmo  OBJECTS += driver/run.cmo
219  CDUCE = $(OBJECTS) driver/start.cmo  CDUCE = $(OBJECTS) driver/start.cmo
220    
# Line 239  Line 231 
231  DEPEND = $(ALL_OBJECTS:.cmo=.ml) $(ALL_OBJECTS:.cmo=.mli) $(ALL_INTERFACES)  DEPEND = $(ALL_OBJECTS:.cmo=.ml) $(ALL_OBJECTS:.cmo=.mli) $(ALL_INTERFACES)
232    
233  INCLUDES = $(DIRS:%=-I %)  INCLUDES = $(DIRS:%=-I %)
234    # -I +camlp4
235    
236  cduce: $(CDUCE:.cmo=.$(EXTENSION))  cduce: $(CDUCE:.cmo=.$(EXTENSION))
237          @echo "Build $@"          @echo "Build $@"
# Line 254  Line 247 
247    
248  cduce_lib.$(EXTENSION_LIB): $(OBJECTS:.cmo=.$(EXTENSION))  cduce_lib.$(EXTENSION_LIB): $(OBJECTS:.cmo=.$(EXTENSION))
249          @echo "Pack cduce_lib.$(EXTENSION)"          @echo "Pack cduce_lib.$(EXTENSION)"
250          $(HIDE)$(COMPILE) -o cduce_lib.$(EXTENSION) -pack $^          $(HIDE)$(COMPILE) -o cduce_lib.$(EXTENSION) $(INCLUDES) -pack $^
251          @echo "Build $@"          @echo "Build $@"
252          $(HIDE)$(COMPILE) -a -o $@ cduce_lib.$(EXTENSION)          $(HIDE)$(COMPILE) -a -o $@ cduce_lib.$(EXTENSION)
253    
254  dtd2cduce: tools/dtd2cduce.ml  dtd2cduce: tools/dtd2cduce.ml
255          @echo "Build $@"          @echo "Build $@"
256          $(HIDE)$(OCAMLFIND) $(CAML) -o $@ -ccopt -static -package "$(PXP_PACK) cgi" -linkpkg $^          $(HIDE)$(OCAMLFIND) $(CAML) -o $@ -package "$(PXP_PACK) cgi" -linkpkg $^
   
 cduce_validate: $(VALIDATE_OBJECTS:.cmo=.$(EXTENSION)) tools/validate.$(EXTENSION)  
         @echo "Build $@"  
         $(HIDE)$(LINK) $(INCLUDES) -o $@ $^  
   
 mlcduce_wrapper: $(OBJECTS) ocamliface/mlcduce_wrapper.ml  
         @echo "Build $@"  
         $(HIDE)$(CAMLC) -linkpkg $(INCLUDES) -o $@ odyl.cma camlp4.cma pr_o.cmo $^ $(EXTRA_LINK_OPTS)  
   
 cdo2ml: ocamliface/cdo2ml.ml  
         @echo "Build $@"  
         $(HIDE)ocamlc -o $@ -pp camlp4o -I +camlp4 odyl.cma camlp4.cma pr_o.cmo $^  
257    
258  .PHONY: compute_depend  .PHONY: compute_depend
259  compute_depend: $(DEPEND_OCAMLDEP)  compute_depend: $(DEPEND_OCAMLDEP)
         echo $(DEPEND)  
260          @echo "Computing dependencies ..."          @echo "Computing dependencies ..."
261          ocamlfind ocamldep -package "$(PACKAGES)" \          ocamlfind ocamldep -package "$(PACKAGES)" \
262                  $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend                  $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend
# Line 284  Line 264 
264          for i in $(CLEAN_DIRS); do \          for i in $(CLEAN_DIRS); do \
265          (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa *~); \          (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa *~); \
266          done          done
267          rm -f ocamliface/cmi2ml ocamliface/asttypes.ml          (cd ocamliface; $(MAKE) clean)
268          rm -f `find . -name "*~"`          rm -f `find . -name "*~"`
269          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~ META          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~ META
270          rm -f cduce$(EXE) ocamlprof.dump          rm -f cduce$(EXE) ocamlprof.dump
271          rm -f dtd2cduce$(EXE) webiface$(EXE) cduce_validate$(EXE) \          rm -f dtd2cduce$(EXE) webiface$(EXE) evaluator$(EXE)
                 cdo2ml$(EXE) mlcduce_wrapper$(EXE) evaluator$(EXE)  
272          rm -Rf prepro package          rm -Rf prepro package
273          rm -f web/www/*.html web/*~          rm -f web/www/*.html web/*~
274          rm -f web/*.cdo          rm -f web/*.cdo
# Line 309  Line 288 
288    
289  misc/q_symbol.cmo: misc/q_symbol.ml  misc/q_symbol.cmo: misc/q_symbol.ml
290          @echo "Build $@"          @echo "Build $@"
291          $(HIDE)$(CAMLC) -c -pp 'camlp4o pa_extend.cmo q_MLast.cmo' $<          $(HIDE)$(CAMLC) -c -pp camlp4orf $<
292    
293  .ml.cmo:  .ml.cmo:
294          @echo "Build $@"          @echo "Build $@"
# Line 317  Line 296 
296    
297  .ml.cmx:  .ml.cmx:
298          @echo "Build $@"          @echo "Build $@"
299          $(HIDE)$(CAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<          $(HIDE)$(CAMLOPT) $(FORPACKOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<
300    
301  .mli.cmi:  .mli.cmi:
302          @echo "Build $@"          @echo "Build $@"
# Line 331  Line 310 
310          mkdir -p web/doc          mkdir -p web/doc
311          (cd web; ../cduce --run site.cdo --arg doc.xml -o doc)          (cd web; ../cduce --run site.cdo --arg doc.xml -o doc)
312    
313  web/site.cdo: cduce web/xhtml.cdo web/site.cd  web/site.cdo: cduce web/xhtml.cdo web/site.cd web/siteTypes.cd
314          ./cduce -I web/ --compile web/site.cd          ./cduce -I web/ --compile web/site.cd
315    
316  web/xhtml.cdo: cduce web/xhtml.cd  web/xhtml.cdo: cduce web/xhtml.cd
# Line 339  Line 318 
318    
319  install_doc: doc  install_doc: doc
320          $(HIDE)mkdir -p $(MANDIR)/man1          $(HIDE)mkdir -p $(MANDIR)/man1
321          $(HIDE)(cd doc; $(MAKE) install INSTALL=$(INSTALL) MANDIR=$(MANDIR) HIDE=$(HIDE))          $(HIDE)(cd doc; $(MAKE) install INSTALL="$(INSTALL)" MANDIR=$(MANDIR) HIDE=$(HIDE))
322          mkdir -p $(DOCDIR)/img          mkdir -p $(DOCDIR)/img
323          cp web/doc/*.html $(DOCDIR)/          cp web/doc/*.html $(DOCDIR)/
324          cp CHANGES INSTALL INSTALL.WIN32 README AUTHORS LICENSE $(DOCDIR)/          cp CHANGES INSTALL INSTALL.WIN32 README AUTHORS LICENSE $(DOCDIR)/
# Line 351  Line 330 
330    
331  ocamliface/caml_cduce.cmo:  ocamliface/caml_cduce.cmo:
332          @cd ocamliface; \          @cd ocamliface; \
333          $(MAKE) PREFIX=$(ML_MODULES) MODEL=$(ML_INTERFACE) \          $(MAKE) caml_cduce.cmo
                 HIDE=$(HIDE) caml_cduce.cmo  
334    
335  ocamliface/caml_cduce.cmx:  ocamliface/caml_cduce.cmx:
336          @cd ocamliface; \          @cd ocamliface; \
337          $(MAKE) PREFIX=$(ML_MODULES) MODEL=$(ML_INTERFACE) \          $(MAKE) caml_cduce.cmx
338                  HIDE=$(HIDE) caml_cduce.cmx  

Legend:
Removed from v.1628  
changed lines
  Added in v.1956

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