/[svn]/Makefile
ViewVC logotype

Diff of /Makefile

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

revision 434 by abate, Tue Jul 10 17:34:46 2007 UTC revision 435 by abate, Tue Jul 10 17:34:50 2007 UTC
# Line 1  Line 1 
1  NATIVE = true  include Makefile.distrib
 PROFILE = false  
 PXP_WLEX = false  
   
 PACKAGES = -package "pxp-engine pxp-lex-iso88591 wlexing camlp4 num cgi"  
 ifeq ($(PXP_WLEX), true)  
   PACKAGES += -package pxp-wlex-utf8  
 else  
   PACKAGES += -package pxp-lex-utf8  
 endif  
   
 SYNTAX = camlp4o pa_extend.cmo  
   
 VERSION = 0.0.9 (alpha)  
   
 ifeq ($(PROFILE), true)  
         CAMLC_P = ocamlcp -p a  
         CAMLOPT_P = ocamlopt -p  
         SYNTAX_PARSER =  
 else  
         CAMLC_P = ocamlc  
         CAMLOPT_P = ocamlopt  
         SYNTAX_PARSER = -pp '$(SYNTAX)'  
 endif  
   
 OPT = -warn-error A  
 CAMLC = ocamlfind $(CAMLC_P) $(OPT) $(PACKAGES)  
 CAMLOPT = ocamlfind $(CAMLOPT_P) $(OPT) $(PACKAGES)  
   
 ifeq ($(NATIVE), true)  
         EXTENSION = cmx  
         LINK = $(CAMLOPT) -linkpkg gramlib.cmxa  
 else  
         EXTENSION = cmo  
         LINK = $(CAMLC) -custom -linkpkg gramlib.cma  
 endif  
   
 all: cduce dtd2cduce local_website  
   
 # Source directories  
   
 DIRS = misc parser typing types runtime driver  
 CLEAN_DIRS = $(DIRS) tools tests  
   
 # Objects to build  
   
 OBJECTS = \  
  misc/cduce_config.cmo \  
  misc/state.cmo misc/pool.cmo misc/encodings.cmo misc/bool.cmo \  
  misc/pretty.cmo \  
  \  
  types/sortedList.cmo types/boolean.cmo types/ident.cmo \  
  types/intervals.cmo types/chars.cmo types/atoms.cmo types/normal.cmo \  
  types/types.cmo types/patterns.cmo types/sequence.cmo \  
  types/sample.cmo \  
  \  
  parser/location.cmo parser/wlexer.cmo parser/ast.cmo parser/parser.cmo \  
  \  
  typing/typed.cmo typing/typer.cmo \  
  \  
  runtime/value.cmo runtime/load_xml.cmo runtime/run_dispatch.cmo \  
  runtime/print_xml.cmo runtime/eval.cmo \  
  \  
  types/builtin.cmo driver/cduce.cmo  
   
 CDUCE = $(OBJECTS) driver/run.cmo  
 WEBIFACE  = $(OBJECTS) driver/examples.cmo driver/webiface.cmo  
 DTD2CDUCE = tools/dtd2cduce.cmo  
   
 DEPEND = $(DIRS:=/*.ml) $(DIRS:=/*.mli)  
 INCLUDES = $(DIRS:%=-I %)  
   
 PREPRO = $(SYNTAX) pr_o.cmo  
   
 misc/cduce_config.cmo: misc/cduce_config.ml  
         $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<  
         rm -f misc/cduce_config.ml  
   
 misc/cduce_config.cmx: misc/cduce_config.ml  
         $(CAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<  
         rm -f misc/cduce_config.ml  
   
 misc/cduce_config.ml:  
         sed -e 's|%%VERSION%%|$(VERSION)|' \  
             -e 's|%%BUILD_DATE%%|$(shell date +%Y-%m-%d)|' \  
             -e 's|%%NATIVE%%|$(NATIVE)|' \  
             misc/cduce_config.mlp > misc/cduce_config.ml  
   
   
 cduce: $(CDUCE:.cmo=.$(EXTENSION))  
         $(LINK) $(INCLUDES) -o $@ $^  
   
 webiface: $(WEBIFACE:.cmo=.$(EXTENSION))  
         $(LINK) -o $@ $^  
   
 dtd2cduce: $(DTD2CDUCE:.cmo=.$(EXTENSION))  
         $(LINK) -o $@ $^  
   
 .PHONY: compute_depend  
 compute_depend:  
         @echo "Computing dependencies ..."  
         ocamldep $(INCLUDES) $(SYNTAX_PARSER) $(DEPEND) > depend  
   
 parser/wlexer.ml: parser/wlexer.mll  
         wlex parser/wlexer.mll  
   
 clean:  
         for i in $(CLEAN_DIRS); do \  
         (cd $$i; rm -f *.cmi *.cmo *.cma *.cmx *.o *~); \  
         done  
         rm -f `find -name "*~"`  
         rm -f *.cmi *.cmo *.cma *.cmx *.a *.cmxa *.o *~  
         rm -f cduce ocamlprof.dump  
         rm -f dtd2cduce pool webiface  
         rm -Rf prepro package  
         rm -f web/www/*.php web/www/*.html web/*~  
   
   
 .SUFFIXES: .ml .mli .cmo .cmi .cmx  
   
 .ml.cmo:  
         $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<  
   
 .ml.cmx:  
         $(CAMLOPT) -c $(SYNTAX_PARSER) $(INCLUDES) $<  
   
 .mli.cmi:  
         $(CAMLC) -c $(SYNTAX_PARSER) $(INCLUDES) $<  
   
 include depend  
   
 # CDuce-generated files  
   
 driver/examples.ml: cduce web/examples/build.cd web/examples/examples.xml  
         (cd web/examples; ../../cduce --quiet build.cd)  
   
 web/files: cduce web/site.cd  
         (cd web; ../cduce --quiet site.cd --arg -php site.xml)  
   
 # Packaging  
   
 write_header:  
         headache -h header $(DEPEND)  
   
 remove_header:  
         headache -r $(DEPEND)  
2    
3  # For development  # For development
4    
# Line 175  Line 30 
30          scp webiface cduce@iris:cgi-bin/cduce          scp webiface cduce@iris:cgi-bin/cduce
31          ssh cduce@iris "chmod +s cgi-bin/cduce"          ssh cduce@iris "chmod +s cgi-bin/cduce"
32    
   
 #  
 # Customize the following variables to match the settings  
 # of your local web server  
 #  
 WEB_PREFIX = /var/www  
 CGI_DIR = $(WEB_PREFIX)/cgi-bin  
 CDUCE_HTML_DIR = $(WEB_PREFIX)/html  
   
 install_web_local:web/files webiface  
         cp  web/www/*.php web/cduce.css  $(CDUCE_HTML_DIR)/  
         cp webiface $(CGI_DIR)/  
         if test ! -d "$(CDUCE_HTML_DIR)/img" ; then \  
           mkdir $(CDUCE_HTML_DIR)/img; \  
         fi;  
         cp web/img/*.*  $(CDUCE_HTML_DIR)/img  
   
33  website: web/files  website: web/files
34          scp web/www/*.php web/cduce.css cduce@iris.ens.fr:public_html/          scp web/www/*.php web/cduce.css cduce@iris.ens.fr:public_html/
35    
 local_website: cduce  
         (cd web; ../cduce --quiet site.cd --arg site.xml)  
36    
37  # Distribution  # Packaging
38    
39  DISTRIB = $(DIRS) tools web depend INSTALL CHANGES LICENSE README Makefile  DISTRIB = $(DIRS) tools web depend INSTALL CHANGES LICENSE README doc
40    
41    PACKAGE = cduce-$(VERSION)
42  .PHONY: package  .PHONY: package
43  package:  package:
44          rm -Rf package          rm -Rf $(PACKAGE)
45          mkdir package          mkdir $(PACKAGE)
46          cp -R $(DISTRIB) package/          cp -R $(DISTRIB) $(PACKAGE)/
47          (cd package; headache -h ../header $(DEPEND); rm -Rf `find -name "CVS"`)          cp Makefile.distrib $(PACKAGE)/Makefile
48            (cd $(PACKAGE); \
49            rm -f types/IDEAS; \
50            headache -h ../header $(DEPEND))
51            tar czf $(PACKAGE).tar.gz --exclude CVS --exclude IDEAS $(PACKAGE)
52            rm -Rf $(PACKAGE)
53    
54    

Legend:
Removed from v.434  
changed lines
  Added in v.435

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