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

Contents of /cduce/trunk/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1564 - (show annotations)
Tue Jul 10 19:03:12 2007 UTC (5 years, 11 months ago) by abate
Original Path: Makefile
File size: 5370 byte(s)
[r2005-03-21 12:56:10 by afrisch] Misc bugfixes

Original author: afrisch
Date: 2005-03-21 12:56:10+00:00
1 include Makefile.distrib
2
3 # For development
4
5 pull: tools/pull.$(EXTENSION)
6 $(LINK) -o $@ $^
7
8 PREPRO = camlp4o -I `ocamlfind query ulex` pa_ulex.cma pr_o.cmo $(SYNTAX) -sep "\n"
9
10 profile: misc/q_symbol.cmo
11 rm -Rf prepro
12 mkdir prepro
13 for i in $(DIRS); do \
14 mkdir prepro/$$i; \
15 for j in $$i/*.ml $$i/*.mli; do \
16 if [ -f "$$j" ]; then \
17 echo $$j; \
18 $(PREPRO) $$j -o prepro/$$j; \
19 fi; \
20 done; \
21 done
22 cp Makefile.distrib Makefile Makefile.conf prepro/
23 (cd prepro; \
24 touch depend; \
25 $(MAKE) compute_depend PROFILE=true SYNTAX_PARSER= ; \
26 $(MAKE) cduce PROFILE=true SYNTAX_PARSER= NATIVE=false)
27
28
29 # Site-specific installation
30
31 charme_build:
32 rsh charme ". .env; cd IMPLEM/CDUCE; $(MAKE) webiface webpages"
33 scp CHANGES INSTALL INSTALL.WIN32 web/www/*.html web/cduce.css cduce@iris:public_html/
34 scp webiface cduce@iris:cgi-bin/cduce
35
36 install_web_distant:
37 $(MAKE) webpages
38 scp CHANGES INSTALL INSTALL.WIN32 web/www/*.html web/demo.js web/cduce.css cduce@iris.ens.fr:public_html/
39
40 SCRIPT =
41 INCLUDES_DEB = $(INCLUDES) $(shell ocamlfind query -i-format -recursive $(PACKAGES))
42 DEBUGGER = ocamldebug
43 debug:
44 ledit $(DEBUGGER) $(INCLUDES_DEB) ./cduce $(SCRIPT)
45
46 # Packaging
47
48 DISTRIB = $(DIRS) cduce.spec tools depend INSTALL INSTALL.WIN32 CHANGES \
49 LICENSE README AUTHORS Makefile.conf.template configure configure.ml doc \
50 META.in cduce_mktop
51
52 DISTRIB_DOC = doc.xml memento.xml tutorial.xml manual.xml tutorial manual \
53 xhtml.cd xhtml-categ.cd xhtml-strict.cd site.cd
54
55 PACKAGE = cduce-$(VERSION)
56 .PHONY: package
57 package: clean
58 rm -Rf $(PACKAGE)
59 mkdir $(PACKAGE)
60 cp -R $(DISTRIB) $(PACKAGE)/
61 cp Makefile.distrib $(PACKAGE)/Makefile
62 mkdir -p $(PACKAGE)/web/img
63 (cd web; cp -R $(DISTRIB_DOC) ../$(PACKAGE)/web; \
64 cd img; cp left.gif right.gif ../../$(PACKAGE)/web/img)
65 (cd $(PACKAGE); \
66 rm -f types/IDEAS; \
67 for F in $(DEPEND); do headache -h ../header $$F; done)
68 tar czf $(PACKAGE).tar.gz --exclude CVS --exclude ".#*" $(PACKAGE)
69 rm -Rf $(PACKAGE)
70
71 #cvs_snapshot:
72 # $(MAKE) package VERSION=cvs`date +%Y%m%d`
73
74 MSTONE=3
75 cvs_snapshot:
76 (cd /tmp; \
77 rm -Rf cduce; \
78 cvs -z3 -d ":pserver:anonymous@cvs.cduce.org:/cvsroot" co cduce; \
79 tar czf cduce-cvs$(MSTONE).tar.gz cduce; \
80 rm -Rf cduce; \
81 scp cduce-cvs$(MSTONE).tar.gz cduce@iris.ens.fr:public_html/download; \
82 rm -f cduce-cvs$(MSTONE).tar.gz)
83
84 OCAML_STDLIBDIR := $(shell ocamlc -where)
85 .PHONY: .ocamlinit
86 .ocamlinit:
87 echo '(* AUTOMATICALLY GENERATED by Makefile: DO NOT EDIT! *)' > $@
88 echo '#load "$(OCAML_STDLIBDIR)/pcre/pcre.cma";;' >> $@
89 echo '#load "$(OCAML_STDLIBDIR)/unix.cma";;' >> $@
90 echo '#load "$(OCAML_STDLIBDIR)/netstring/netstring.cma";;' >> $@
91 # echo '#load "$(OCAML_STDLIBDIR)/netstring/netstring_top.cmo";;' >> $@
92 echo '#load "$(OCAML_STDLIBDIR)/pxp-engine/pxp_engine.cma";;' >> $@
93 # echo '#load "$(OCAML_STDLIBDIR)/pxp-engine/pxp_top.cmo";;' *)' >> $@
94 echo '#load "$(OCAML_STDLIBDIR)/pxp-lex-iso88591/pxp_lex_iso88591.cma";;' >> $@
95 echo '#load "$(OCAML_STDLIBDIR)/pxp-lex-iso88591/pxp_lex_link_iso88591.cmo";;' >> $@
96 echo '#load "$(OCAML_STDLIBDIR)/ulex/ulexing.cma";;' >> $@
97 echo '#load "$(OCAML_STDLIBDIR)/nums.cma";;' >> $@
98 # echo '#load "$(OCAML_STDLIBDIR)/num_top.cma";;' >> $@
99 echo '#load "$(OCAML_STDLIBDIR)/cgi/cgi.cma";;' >> $@
100 for o in $(VALIDATE_OBJECTS); do echo "prerr_endline \"Loading $$o ...\";;" >> $@; echo "#load \"$$o\";;" >> $@; done
101 for d in $(DIRS); do echo "#directory \"$$d\";;" >> $@; done
102 for p in pcre netstring pxp-engine ulex cgi; do echo "#directory \"`$(OCAMLFIND) query $$p`\";;" >> $@; done
103 echo "prerr_endline \"All done!\"" >> $@
104 echo '(* vim: set ft=ocaml: *)' >> $@
105
106 CVS_DISTRIB = web CHANGES LICENSE README AUTHORS doc cduce dtd2cduce
107 cvs_snapshot_bin: clean
108 if [[ `uname` != Linux ]]; then echo "Not a Linux box!"; exit 2; fi
109 $(MAKE) cduce dtd2cduce NATIVE=true EXTRA_LINK_OPTS="-ccopt -static" VERSION=cvs`date +%Y%m%d`
110 rm -Rf cduce-cvs
111 mkdir cduce-cvs
112 cp -R $(CVS_DISTRIB) cduce-cvs
113 cp Makefile.binary cduce-cvs/Makefile
114 tar czf cduce-cvs-linux-static.tar.gz --exclude CVS cduce-cvs
115 rm -Rf cduce-cvs
116 scp cduce-cvs-linux-static.tar.gz cduce@di.ens.fr:public_html/download
117
118 .PHONY: test
119 test:
120 $(MAKE) -C tests test
121
122
123 # Web site
124
125 driver/examples.ml: cduce web/xhtml.cdo web/examples/build.cd web/examples/examples.xml
126 (cd web/examples; ../../cduce build.cd -I .. --arg examples.xml)
127
128 webpages: cduce web/site.cdo
129 (cd web; ../cduce --run site.cdo --arg site.xml)
130
131 website: webpages webiface evaluator
132
133 install_web: website
134 cp web/www/*.html web/demo.js web/cduce.css $(HTML_DIR)/
135 cp CHANGES INSTALL INSTALL.WIN32 $(HTML_DIR)/
136 cp webiface $(CGI_DIR)/cduce
137 cp evaluator $(CGI_DIR)/demo_evaluator
138 if test ! -d "$(HTML_DIR)/img" ; then \
139 mkdir $(HTML_DIR)/img; \
140 fi;
141 cp web/img/*.* $(HTML_DIR)/img
142
143 WEBIFACE = $(OBJECTS) driver/examples.cmo driver/webiface.cmo
144 EVALUATOR = $(OBJECTS) driver/evaluator.cmo
145
146 webiface: $(WEBIFACE:.cmo=.$(EXTENSION))
147 @echo "Build $@"
148 $(HIDE)$(LINK) -verbose $(INCLUDES) -o $@ $^ $(EXTRA_OPTS_WEBIFACE)
149
150 evaluator: $(EVALUATOR:.cmo=.$(EXTENSION))
151 @echo "Build $@"
152 $(HIDE)$(LINK) -verbose $(INCLUDES) -o $@ $^ $(EXTRA_OPTS_WEBIFACE)
153
154 # webiface can be made static to be able to move it more easily
155 # (to compile it on a machine which is not the web server)
156 # Seems to be some problems with statically linking curl
157 # EXTRA_OPTS_WEBIFACE = -ccopt -static
158
159

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