/[svn]/Makefile.distrib
ViewVC logotype

Diff of /Makefile.distrib

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

revision 1106 by abate, Tue Jul 10 18:23:10 2007 UTC revision 1174 by abate, Tue Jul 10 18:28:26 2007 UTC
# Line 8  Line 8 
8    PACKAGES += pxp-lex-utf8    PACKAGES += pxp-lex-utf8
9  endif  endif
10    
11    # webiface can be made static to be able to move it more easily
12    # (to compile it on a machine which is not the web server)
13    # Seems to be some problems with statically linking curl
14    # EXTRA_OPTS_WEBIFACE = -ccopt -static
15    
16  SYNTAX = -I misc/ q_symbol.cmo \  SYNTAX = -I misc/ q_symbol.cmo \
17    -symbol cduce_version=\"$(VERSION)\" \    -symbol cduce_version=\"$(VERSION)\" \
# Line 78  Line 82 
82  ifneq ($(ML_INTERFACE), false)  ifneq ($(ML_INTERFACE), false)
83    SYNTAX += -symbol ML_INTERFACE=    SYNTAX += -symbol ML_INTERFACE=
84    ML_LIB = oCaml_all.$(EXTENSION_LIB)    ML_LIB = oCaml_all.$(EXTENSION_LIB)
85    ML_INTERFACE_OBJ = \    ML_INTERFACE_OBJ = ocamliface/mltypes.cmo ocamliface/mlstub.cmo
         cdo2cmo/ml_types.cmo \  
         cdo2cmo/ml_cduce.cmo \  
         cdo2cmo/ml_ocaml.cmo \  
         cdo2cmo/ml_checker.cmo \  
         cdo2cmo/ml_generator.cmo  
86  else  else
87    ML_INTERFACE_OBJ =    ML_INTERFACE_OBJ =
88  endif  endif
89    
90  INSTALL := $(shell which install)  INSTALL := $(shell which install)
91    
92  all: cduce dtd2cduce validate  all: cduce dtd2cduce validate cdo2ml
93    
94    ifneq ($(ML_INTERFACE), false)
95    all: cDuce_all.cma
96    endif
97    
98    ifeq ($(NATIVE),true)
99    all: cDuce_all.cmxa
100    cDuce_all.cma:
101            $(MAKE) NATIVE=false $@
102    endif
103    
104  install: all  install: all install_lib
105          mkdir -p $(BINDIR)          mkdir -p $(BINDIR)
106          mkdir -p $(MANDIR)/man1          mkdir -p $(MANDIR)/man1
107          $(INSTALL) -m755 cduce$(EXE) dtd2cduce$(EXE) validate$(EXE) $(BINDIR)/          $(INSTALL) -m755 cduce$(EXE) dtd2cduce$(EXE) \
108                             validate$(EXE) cdo2ml$(EXE) $(BINDIR)/
109          $(INSTALL) -m644 doc/cduce.1 $(MANDIR)/man1/          $(INSTALL) -m644 doc/cduce.1 $(MANDIR)/man1/
110          $(INSTALL) -m644 doc/dtd2cduce.1 $(MANDIR)/man1/          $(INSTALL) -m644 doc/dtd2cduce.1 $(MANDIR)/man1/
111          $(INSTALL) -m644 doc/validate.1 $(MANDIR)/man1/          $(INSTALL) -m644 doc/validate.1 $(MANDIR)/man1/
112    
113    install_lib:
114    ifneq ($(ML_INTERFACE), false)
115            @echo "--> Build META"
116            @echo 'version="$(VERSION)"' > META
117            @echo 'requires="$(PACKAGES) camlp4.gramlib"' >> META
118            @echo 'description="Runtime support for CDuce"' >> META
119            @echo 'archive(byte)="oCaml_all.cma,cDuce_all.cma"' >> META
120            @echo 'archive(native)="oCaml_all.cmxa,cDuce_all.cmxa"' >> META
121            -$(OCAMLFIND) remove cduce
122            -$(OCAMLFIND) install cduce META \
123             cDuce_all.cmi oCaml_all.cmi \
124             $(wildcard *.cma) $(wildcard *.cmxa) $(wildcard *.a)
125    endif
126    
127  uninstall:  uninstall:
128          rm $(BINDIR)/cduce$(EXE) $(BINDIR)/dtd2cduce$(EXE) $(BINDIR)/validate$(EXE)          rm -f $(BINDIR)/cduce$(EXE) $(BINDIR)/dtd2cduce$(EXE) \
129          rm $(MANDIR)/man1/cduce.1 $(MANDIR)/man1/dtd2cduce.1 $(MANDIR)/man1/validate.1            $(BINDIR)/validate$(EXE) $(BINDIR)/cdo2ml$(EXE)
130            rm -f $(MANDIR)/man1/cduce.1 $(MANDIR)/man1/dtd2cduce.1 \
131              $(MANDIR)/man1/validate.1
132            ocamlfind remove cduce
133    
134  help:  help:
135          @echo "GOALS"          @echo "GOALS"
# Line 120  Line 147 
147    
148  # Source directories  # Source directories
149    
150  DIRS = misc parser schema typing types compile runtime driver query cdo2cmo  DIRS = misc parser schema typing types compile runtime driver query ocamliface
151  CLEAN_DIRS = $(DIRS) tools tests  CLEAN_DIRS = $(DIRS) cdo2cmo tools tests
152    
153  # Objects to build  # Objects to build
154    
# Line 139  Line 166 
166   \   \
167   compile/lambda.cmo \   compile/lambda.cmo \
168   runtime/value.cmo \   runtime/value.cmo \
169     types/externals.cmo \
170   \   \
171   schema/schema_types.cmo \   schema/schema_types.cmo \
172   schema/schema_xml.cmo \   schema/schema_xml.cmo \
# Line 177  Line 205 
205   $(CQL_OBJECTS_RUN)   $(CQL_OBJECTS_RUN)
206  ALL_INTERFACES = schema/schema_types.mli  ALL_INTERFACES = schema/schema_types.mli
207    
208    ifneq ($(ML_INTERFACE), false)
209      ALL_INTERFACES += ocamliface/mltypes.mli ocamliface/mlstub.mli
210    endif
211    
212  DEPEND = $(ALL_OBJECTS:.cmo=.ml) $(ALL_OBJECTS:.cmo=.mli) $(ALL_INTERFACES)  DEPEND = $(ALL_OBJECTS:.cmo=.ml) $(ALL_OBJECTS:.cmo=.mli) $(ALL_INTERFACES)
213    
214  INCLUDES = $(DIRS:%=-I %)  INCLUDES = $(DIRS:%=-I %)
# Line 193  Line 225 
225    
226    
227  cDuce_all.$(EXTENSION_LIB): $(OBJECTS:.cmo=.$(EXTENSION))  cDuce_all.$(EXTENSION_LIB): $(OBJECTS:.cmo=.$(EXTENSION))
228          $(COMPILE) -o cDuce_all.$(EXTENSION) -pack $^          @echo "--> Build $@"
229          $(LINK) -a -o $@ cDuce_all.$(EXTENSION)          @$(COMPILE) -o cDuce_all.$(EXTENSION) -pack $^
230          $(COMPILE) -c cdo2cmo/cdml.mli          @$(COMPILE) -a -o $@ cDuce_all.$(EXTENSION)
231          $(COMPILE) -c -o cdml.$(EXTENSION) cdo2cmo/cdml.ml  
         $(LINK) -a -o cdo2cmo/cdml.$(EXTENSION_LIB) \  
                 oCaml_all.$(EXTENSION_LIB) \  
                 cDuce_all.$(EXTENSION_LIB) \  
                 cdo2cmo/cdml.$(EXTENSION)  
232    
233  oCaml_all.$(EXTENSION_LIB):  oCaml_all.$(EXTENSION_LIB):
234          cd cdo2cmo; $(MAKE) PREFIX=$(ML_MODULES) MODEL=$(ML_INTERFACE) $@          cd cdo2cmo; $(MAKE) PREFIX=$(ML_MODULES) MODEL=$(ML_INTERFACE) $@
235    
236  webiface: $(WEBIFACE:.cmo=.$(EXTENSION))  webiface: $(WEBIFACE:.cmo=.$(EXTENSION))
237          $(LINK) -verbose $(INCLUDES) -o $@ $^ -ccopt -static          $(LINK) -verbose $(INCLUDES) -o $@ $(ML_LIB) $^ $(EXTRA_OPTS_WEBIFACE)
 # webiface is made static to be able to move it more easily  
 # (to compile it on a machine which is not the web server)  
238    
239  dtd2cduce: $(DTD2CDUCE:.cmo=.$(EXTENSION))  dtd2cduce: $(DTD2CDUCE:.cmo=.$(EXTENSION))
240          $(LINK) $(INCLUDES) -o $@ $^          $(LINK) $(INCLUDES) -o $@ $^
# Line 216  Line 242 
242  validate: $(VALIDATE_OBJECTS:.cmo=.$(EXTENSION)) tools/validate.$(EXTENSION)  validate: $(VALIDATE_OBJECTS:.cmo=.$(EXTENSION)) tools/validate.$(EXTENSION)
243          $(LINK) $(INCLUDES) -o $@ $^          $(LINK) $(INCLUDES) -o $@ $^
244    
245    cdo2ml: ocamliface/cdo2ml.ml
246            ocamlc -o $@ -pp camlp4o -I +camlp4 camlp4.cma pr_o.cmo $^
247    
248  .PHONY: compute_depend  .PHONY: compute_depend
249  compute_depend: $(DEPEND_OCAMLDEP)  compute_depend: $(DEPEND_OCAMLDEP)
250          echo $(DEPEND)          echo $(DEPEND)
# Line 228  Line 257 
257          done          done
258          (cd expat; $(MAKE) clean)          (cd expat; $(MAKE) clean)
259          rm -f `find . -name "*~"`          rm -f `find . -name "*~"`
260          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~          rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~ META
261          rm -f cduce ocamlprof.dump          rm -f cduce$(EXE) ocamlprof.dump
262          rm -f dtd2cduce pool webiface validate          rm -f dtd2cduce$(EXE) webiface$(EXE) validate$(EXE) cdo2ml$(EXE)
263          rm -Rf prepro package          rm -Rf prepro package
264          rm -f web/www/*.html web/*~          rm -f web/www/*.html web/*~
265          rm -f web/*.cdo          rm -f web/*.cdo
# Line 241  Line 270 
270  $(ML_INTERFACE_OBJ:.cmo=.$(EXTENSION)): oCaml_all.$(EXTENSION_LIB)  $(ML_INTERFACE_OBJ:.cmo=.$(EXTENSION)): oCaml_all.$(EXTENSION_LIB)
271    
272  $(ALL_OBJECTS:.cmo=.$(EXTENSION)): misc/q_symbol.cmo  $(ALL_OBJECTS:.cmo=.$(EXTENSION)): misc/q_symbol.cmo
273  $(ALL_INTERFACE): misc/q_symbol.cmo  $(ALL_INTERFACES): misc/q_symbol.cmo
274    
275  .SUFFIXES: .ml .mli .cmo .cmi .cmx  .SUFFIXES: .ml .mli .cmo .cmi .cmx
276    

Legend:
Removed from v.1106  
changed lines
  Added in v.1174

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