###
###	examples/Makefile.  Generated from Makefile.in by configure.
###

.PHONY: clean
.PRECIOUS: %.cmx %.cmo %.cmi
.SUFFIXES: .ml .mli .cmx .cmi .cmo

OCBYTE		= ocamlc.opt -thread
OCOPT		= ocamlopt.opt -thread
FINDLIB = ocamlfind

FLAGS		= -g -I ..
LFLAGS		= -g -I .. -ccopt -L..

OCURLLIB	= curl.cma unix.cma threads.cma
OCURLOPTLIB	= curl.cmxa unix.cmxa threads.cmxa

TARGETS = ocurl oput ominimal ossl ocurl_test_threads opar test_cb_exn test_memory_leaks
ifneq (no,no)
TARGETS += test_lwt_unit
ifneq (no,no)
TARGETS += test_lwt
endif
endif

ifeq (opt,opt)
TARGETS	+= ocurl.opt oput.opt ominimal.opt ossl.opt ocurl_test_threads.opt opar.opt test_cb_exn.opt test_memory_leaks.opt
ifneq (no,no)
TARGETS += test_lwt_unit.opt
ifneq (no,no)
TARGETS += test_lwt.opt
endif
endif
endif

all:	$(TARGETS)

FINDLIB_LWT_FLAGS=-linkpkg -package lwt.unix,lwt.ppx

test_lwt: ../curl.cma ../curl_lwt.cmo test_lwt.ml
	$(FINDLIB) c -custom $(FINDLIB_LWT_FLAGS) $(LFLAGS) $^ -o $@

test_lwt.opt: ../curl.cmxa ../curl_lwt.cmx test_lwt.ml
	$(FINDLIB) opt $(FINDLIB_LWT_FLAGS) $(LFLAGS) $^ -o $@

test_lwt_unit: ../curl.cma ../curl_lwt.cmo test_lwt_unit.ml
	$(FINDLIB) c -custom $(FINDLIB_LWT_FLAGS) $(LFLAGS) $^ -o $@

test_lwt_unit.opt: ../curl.cmxa ../curl_lwt.cmx test_lwt_unit.ml
	$(FINDLIB) opt $(FINDLIB_LWT_FLAGS) $(LFLAGS) $^ -o $@

%: %.cmo ../curl.cma
		$(OCBYTE) -custom $(LFLAGS) $(OCURLLIB) $< -o $@

%.opt: %.cmx ../curl.cmxa
		$(OCOPT) $(LFLAGS) $(OCURLOPTLIB) $< -o $@

.ml.cmx:
		$(OCOPT) -c $(FLAGS) $< -o $@

.mli.cmi:
		$(OCBYTE) -c $(FLAGS) $< -o $@

.ml.cmo:
		$(OCBYTE) -c $(FLAGS) $< -o $@

clean:
		@rm -f $(TARGETS) *.cm* *.o *.a
