more robust extension detection
[ocurl.git] / Makefile.in
blob3f93a2ff38e936c842d96ccf8134d38a3ec10845
1 ###
2 ### @configure_input@
3 ###
5 .PHONY: all targets examples install clean distclean depend release doc build test reinstall
7 .SUFFIXES: .ml .mli .cmx .cmi .cmo .cmxa .cma .c @EXT_OBJ@
9 INSTALLDIR = @INSTALLDIR@
10 INSTALL = @INSTALL@
11 INSTALLDATA = @INSTALL_DATA@
13 FINDLIB = @OCAMLFIND@
14 OCAMLC = @OCAMLC@
15 OCAMLOPT = @OCAMLOPT@
16 OCAMLDEP = @OCAMLDEP@
17 OCAMLMKLIB = @OCAMLMKLIB@
19 EXT_LIB = @EXT_LIB@
20 EXT_OBJ = @EXT_OBJ@
21 EXT_DLL = @EXT_DLL@
23 FLAGS = -g
24 LIBS =
26 CFLAGS = @CFLAGS@ @DEFS@ -Wall
28 CURLHELPEROBJS = curl-helper$(EXT_OBJ)
29 CURLOBJS = curl.cmx
30 CURLBCOBJS = $(CURLOBJS:.cmx=.cmo)
32 CLIBS = @CURLLIBS@
34 TARGETS := curl.cma libcurl-helper$(EXT_LIB) dllcurl-helper$(EXT_DLL)
35 ifneq (@OCAML_PKG_lwt@,no)
36 TARGETS += curl_lwt.cmo
37 endif
38 ifeq (@OCAMLBEST@,opt)
39 TARGETS += curl.cmxa
40 ifneq (@OCAML_PKG_lwt@,no)
41 TARGETS += curl_lwt.cmx
42 endif
43 endif
45 INSTALL_TARGETS = curl$(EXT_LIB) curl.cmi curl.mli $(TARGETS)
46 ifneq (@OCAML_PKG_lwt@,no)
47 INSTALL_TARGETS += curl_lwt.cmi curl_lwt.mli curl_lwt$(EXT_OBJ)
48 endif
50 all:
51 @$(MAKE) depend
52 @$(MAKE) targets
54 build: all
56 test: examples
57 examples/test_cb_exn
58 examples/test_memory_leaks
59 ifneq (@OCAML_PKG_lwt@,no)
60 examples/test_lwt_unit
61 endif
62 ifeq (@OCAMLBEST@,opt)
63 examples/test_cb_exn.opt
64 examples/test_memory_leaks.opt
65 ifneq (@OCAML_PKG_lwt@,no)
66 examples/test_lwt_unit.opt
67 endif
68 endif
70 doc:
71 mkdir -p doc
72 ifneq (@OCAML_PKG_lwt@,no)
73 ocamlfind ocamldoc -html -d doc -package lwt curl.mli curl_lwt.mli
74 else
75 ocamldoc -html -d doc curl.mli
76 endif
78 targets: $(TARGETS) examples
80 examples:
81 (cd examples; $(MAKE))
83 curl.cma: $(CURLBCOBJS) dllcurl-helper$(EXT_DLL)
84 $(OCAMLMKLIB) -o curl $(CURLBCOBJS) -oc curl-helper $(CLIBS)
86 curl.cmxa: $(CURLOBJS) dllcurl-helper$(EXT_DLL)
87 $(OCAMLMKLIB) -o curl $(CURLOBJS) -oc curl-helper $(CLIBS)
89 curl_lwt.cmo: curl_lwt.ml
90 $(FINDLIB) c -package lwt.unix -c $(FLAGS) $< -o $@
92 curl_lwt.cmx: curl_lwt.ml
93 $(FINDLIB) opt -package lwt.unix -c $(FLAGS) $< -o $@
95 curl_lwt.cmi: curl_lwt.mli
96 $(FINDLIB) c -package lwt -c $(FLAGS) $< -o $@
98 .ml.cmx:
99 $(OCAMLOPT) -c $(FLAGS) $< -o $@
101 .mli.cmi:
102 $(OCAMLC) -c $(FLAGS) $< -o $@
104 .ml.cmo:
105 $(OCAMLC) -c $(FLAGS) $< -o $@
107 libcurl-helper$(EXT_LIB) dllcurl-helper$(EXT_DLL): $(CURLHELPEROBJS)
108 $(OCAMLMKLIB) -oc curl-helper $(CURLHELPEROBJS) $(CLIBS)
110 .c$(EXT_OBJ):
111 $(OCAMLC) -c -ccopt "$(CFLAGS)" $<
113 install:
114 ifneq (@OCAMLFIND@,no)
115 $(FINDLIB) install -patch-version @PACKAGE_VERSION@ -ldconf ignore curl META $(INSTALL_TARGETS)
116 else
117 mkdir -p $(INSTALLDIR)
118 $(INSTALLDATA) curl.cma $(INSTALLDIR)
119 ifeq (@OCAMLBEST@,opt)
120 $(INSTALLDATA) curl.cmxa $(INSTALLDIR)
121 endif
122 $(INSTALLDATA) curl.mli curl.cmi $(INSTALLDIR)
123 $(INSTALLDATA) curl$(EXT_LIB) libcurl-helper$(EXT_LIB) $(INSTALLDIR)
124 endif
126 uninstall:
127 ifneq (@OCAMLFIND@,no)
128 $(FINDLIB) remove curl
129 else
130 (cd $(INSTALLDIR) && rm -f curl.cma curl.cmxa curl.mli curl.cmi curl$(EXT_LIB) libcurl-helper$(EXT_LIB))
131 rmdir $(INSTALLDIR)
132 endif
134 reinstall:
135 $(MAKE) uninstall
136 $(MAKE) install
138 NAME=@PACKAGE_NAME@-@PACKAGE_VERSION@
140 release:
141 git tag -a -m @PACKAGE_VERSION@ @PACKAGE_VERSION@
142 git archive --prefix=$(NAME)/ @PACKAGE_VERSION@ | gzip > $(NAME).tar.gz
143 gpg -a -b $(NAME).tar.gz
145 clean:
146 @rm -f $(TARGETS) *~ *.cm* *$(EXT_OBJ) *$(EXT_LIB) *$(EXT_DLL) .depend core
147 @(cd examples; $(MAKE) clean)
149 distclean: clean
150 @rm -f config.log config.status config.h examples/Makefile
151 @rm -f Makefile
153 depend:
154 @$(OCAMLDEP) *.mli *.ml > .depend
156 ifeq ($(wildcard .depend),.depend)
157 ifneq ($(MAKECMDGOALS),clean)
158 include .depend
159 endif
160 endif