1 include ..
/Makefile.config
5 FILES
= ocsigen_extensions.ml ocsigen_parseconfig.ml ocsigen_http_client.ml \
6 ..
/extensions
/ocsigen_LocalFiles.ml ocsigen_server.ml
10 ifeq "$(BYTECODE)" "YES"
11 INSTALLBYTE
=installbyte
16 ifeq "$(NATIVECODE)" "YES"
23 ifeq "$(NEWOCAMLNET)" "YES"
26 NETSYSCMXA
=netsys.cmxa
33 ifeq "$(NATDYNLINK)" "YES"
39 ifeq ($(OCAMLVERSION
),OLD
)
40 # CMAOCAMLP4= gramlib.cma
41 # CMXXACAMLP4= gramlib.cmxa
45 CAMLP4PACKAGES
=,camlp4.gramlib
48 CMAOCAMLP4
= camlp4lib.cma Camlp4OCamlRevisedParser.cmo Camlp4OCamlParser.cmo
49 CMXXACAMLP4
= camlp4lib.cmxa Camlp4OCamlRevisedParser.cmx Camlp4OCamlParser.cmx
50 LIBDIRS
:= $(LIBDIRS
) -I
+camlp4
-I
+camlp4
/Camlp4Parsers
54 CAMLC
= $(OCAMLFIND
) $(CAMLCNAME2
) $(DBG
) -package dynlink
$(LIB
)
55 CAMLMKTOP
= $(OCAMLFIND
) $(CAMLMKTOPNAME
) $(LIB
)
56 CAMLOPT
= $(OCAMLFIND
) $(CAMLOPTNAME
) $(DBG
) $(LIB
)
57 CAMLDOC
= $(OCAMLFIND
) ocamldoc
$(LIB
)
58 CAMLDEP
= $(OCAMLFIND
) ocamldep
$(LIBDIRS
)
59 LIB
= -thread
-package lwt.ssl
,lwt.extra
,netstring
,$(NETSYS
)ssl
,pcre
,unix
,$(DYNLINK
)threads
$(CAMLP4PACKAGES
),findlib
$(LIBDIRS
)
60 # also modify builtin_package in ocsigen_config.ml if you modify the former line!
64 ifdef DONOTPARSECOMMANDLINE
65 PARSECOMMANDLINECMA
=..
/baselib
/donotparsecommandline.cma
67 PARSECOMMANDLINECMA
=..
/baselib
/parsecommandline.cma
69 PARSECOMMANDLINECMXA
=$(PARSECOMMANDLINECMA
:.cma
=.cmxa
)
71 # cma and cmo to be linked in the server:
73 CMOS
= ..
/baselib
/ocsigen_lib_obrowser.cmo \
74 ..
/baselib
/ocsigen_cache.cmo \
75 ..
/baselib
/ocsigen_lib.cmo \
76 ..
/xmlp4
/xmllexer.cmo ..
/xmlp4
/simplexmlparser.cmo \
77 ..
/baselib
/ocsigen_config.cmo \
78 ..
/baselib
/ocsigen_commandline.cmo \
79 ..
/baselib
/ocsigen_messages.cmo \
80 ..
/baselib
/dynlink_wrapper.cmo ..
/baselib
/ocsigen_loader.cmo \
81 ..
/baselib
/ocsigen_stream.cmo ..
/http
/multipart.cmo \
82 ..
/http
/http_headers.cmo \
83 ..
/http
/ocsigen_http_frame.cmo ..
/http
/ocsigen_headers.cmo \
84 ..
/http
/ocsigen_range.cmo \
85 ..
/http
/http_lexer.cmo ..
/http
/http_parser.cmo \
86 ..
/http
/framepp.cmo ..
/http
/ocsigen_http_com.cmo \
87 ..
/xmlp4
/xhtmlpretty_streams.cmo ..
/xmlp4
/xhtmlcompact_streams.cmo \
88 ..
/http
/ocsigen_charset_mime.cmo ..
/http
/ocsigen_senders.cmo \
89 ..
/baselib
/polytables.cmo
90 # also modify builtin_package in ocsigen_config.ml if you modify the former line!
91 CMAO
= ..
/xmlp4
/xhtml.cma ..
/xmlp4
/xhtmlpretty.cma
$(NAME
).cma
95 OBJS
= $(FILES
:.ml
=.cmo
) $(DUCEFILES
:.ml
=.cmo
)
96 OBJSEXE
= $(EXE
:.ml
=.cmo
)
98 CMXSATEMP
=$(CMOS
:.cmo
=.cmx
)
99 CMXSA
=$(CMXSATEMP
:.cma
=.cmxa
)
100 CMXXATEMP
=$(CMAO
:.cmo
=.cmx
)
101 CMXXA
=$(CMXXATEMP
:.cma
=.cmxa
)
103 OBJSOPT
= $(FILES
:.ml
=.cmx
) $(DUCEFILES
:.ml
=.cmx
)
104 OBJSEXEOPT
= $(EXE
:.ml
=.cmx
)
107 byte
: $(OBJS
) $(OBJSEXE
) $(NAME
) $(NAME
)top
109 opt
: $(OBJSOPT
) $(OBJSEXEOPT
) $(NAME
).opt
113 .SUFFIXES
: .ml .mli .cmo .cmi .cmx
117 $(NAME
): $(CMAO
) $(OBJSEXE
) $(PARSECOMMANDLINECMO
)
118 $(CAMLC
) -o
$(NAME
) -linkpkg
-linkall
$(PARSECOMMANDLINECMA
) $(CMAOCAMLP4
) $(CMAO
) $(OBJSEXE
)
120 $(NAME
).opt
: $(CMXXA
) $(OBJSEXEOPT
) $(PARSECOMMANDLINECMX
)
121 $(CAMLOPT
) -o
$(NAME
).opt
-linkpkg
-linkall
$(PARSECOMMANDLINECMXA
) $(CMXXACAMLP4
) $(CMXXA
) $(OBJSEXEOPT
)
123 $(NAME
).cma
: $(CMOS
) $(OBJS
) $(STUBS_OBJS
)
124 $(CAMLMKLIB
) -o
$(NAME
) -oc
$(NAME
) -linkall
$(CMOS
) $(OBJS
) $(STUBS_OBJS
)
126 $(NAME
).cmxa
: $(CMXSA
) $(OBJSOPT
) $(STUBS_OBJS
)
127 $(CAMLMKLIB
) -o
$(NAME
) -oc
$(NAME
) -linkall
$(CMXSA
) $(OBJSOPT
) $(STUBS_OBJS
)
129 $(NAME
)top
: $(CMAO
) $(PARSECOMMANDLINECMO
)
130 $(CAMLMKTOP
) -o
$(NAME
)top
-linkpkg
-linkall
$(PARSECOMMANDLINECMA
) $(CMAOCAMLP4
) $(CMAO
)
139 $(CAMLOPT
) $(PP
) -c
$<
142 # $(CAMLDOC) -d doc -html eliom.mli ocsigen.mli ocsigen_extensions.mli
146 $(CAMLC
) $(CAMLINCLUDE
) -c
$<
150 -rm -f
*.cm
[aiox
] *.cmxa
*.cmxs
*.o
*.a
*~ doc
/* $(NAME
) $(NAME
).opt
$(NAME
)top
*.annot
*.so
153 install: install_so
$(INSTALLBYTE
) $(INSTALLOPT
)
156 @echo
"Installing shared stubs"
157 mkdir
-p
$(TEMPROOT
)$(STUBDIR
)
158 $(INSTALL
) -m
755 dll
$(NAME
).so
$(TEMPROOT
)$(STUBDIR
)/
161 @echo
"Installing bytecode server"
162 mkdir
-p
$(TEMPROOT
)$(BINDIR
)
163 $(INSTALL
) -m
755 $(NAME
) $(TEMPROOT
)$(BINDIR
)/
166 @echo
"Installing native server"
167 mkdir
-p
$(TEMPROOT
)$(BINDIR
)
168 [ -f
$(NAME
).opt
] && $(INSTALL
) -m
755 $(NAME
).opt
$(TEMPROOT
)$(BINDIR
)/
172 rm -f
$(TEMPROOT
)$(BINDIR
)/$(NAME
)
173 rm -f
$(TEMPROOT
)$(BINDIR
)/$(NAME
).opt
174 rm -f
$(TEMPROOT
)$(STUBDIR
)/dll
$(NAME
).so
177 $(CAMLDEP
) $(LIBDIRS
) $(PP2
) $(FILES
:.ml
=.mli
) $(EXE
:.ml
=.mli
) $(FILES
) $(EXE
) $(DUCEFILES
:.ml
=.mli
) $(DUCEFILES
) > .depend