#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

DESTDIR=$(CURDIR)/debian/tmp

include /usr/share/ocaml/ocamlvars.mk

export OCAML_DLL_DIR
export OCAML_HAVE_OCAMLOPT
export OCAML_NATDYNLINK
export OCAMLFIND_DESTDIR=$(DESTDIR)/$(OCAML_STDLIB_DIR)
export OCAMLFIND_LDCONF=ignore

# Needed for running tests on bytecode architectures
export CAML_LD_LIBRARY_PATH=$(CURDIR)/_build/src/unix

%:
	dh $@ --with ocaml

.PHONY: override_dh_auto_configure
override_dh_auto_configure:
	ocaml setup.ml -configure --prefix '$(DESTDIR)/usr' --destdir '$(DESTDIR)' --enable-all --enable-tests --docdir '$(DESTDIR)/usr/share/doc/liblwt-ocaml-dev'

.PHONY: override_dh_auto_build
override_dh_auto_build:
# Disable mcast tests; they use network
	sed -i '/mcast/d' tests/unix/main.ml
	ocaml setup.ml -build
	ocaml setup.ml -doc

.PHONY: override_dh_auto_test
override_dh_auto_test:
	ocaml setup.ml -test

.PHONY: override_dh_auto_install
override_dh_auto_install:
	mkdir -p '$(OCAMLFIND_DESTDIR)'
	ocaml setup.ml -install
	cp _build/src/unix/lwt_unix.mli debian/tmp/usr/lib/ocaml/lwt/
	for u in react glib ssl; do ocamlfind install lwt_$$u src/$$u/META; done

.PHONY: override_dh_install
override_dh_install:
	ocaml debian/modules.ml
	dh_install --fail-missing

.PHONY: override_dh_auto_clean
override_dh_auto_clean:
	ocaml setup.ml -distclean
