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

DESTDIR=$(CURDIR)/debian/tmp

include /usr/share/ocaml/ocamlvars.mk

%:
	dh $@ --with ocaml

override_dh_auto_clean:
	dune clean
	rm -rf _tmp

override_dh_auto_build:
	rm -rf _tmp
	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune build -p mirage-crypto
	dune install --destdir=$(CURDIR)/_tmp --prefix=/usr --libdir=..$(OCAML_STDLIB_DIR) mirage-crypto
	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune build -p mirage-crypto-rng
	dune install --destdir=$(CURDIR)/_tmp --prefix=/usr --libdir=..$(OCAML_STDLIB_DIR) mirage-crypto-rng
	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune build -p mirage-crypto-pk
	dune install --destdir=$(CURDIR)/_tmp --prefix=/usr --libdir=..$(OCAML_STDLIB_DIR) mirage-crypto-pk
	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune build -p mirage-crypto-ec
	dune install --destdir=$(CURDIR)/_tmp --prefix=/usr --libdir=..$(OCAML_STDLIB_DIR) mirage-crypto-ec

override_dh_auto_test:
	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune runtest -p mirage-crypto
# Needs randomconv
#	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune runtest -p mirage-crypto-rng
#	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune runtest -p mirage-crypto-pk
# Needs alcotest
#	OCAMLPATH=$(CURDIR)/_tmp$(OCAML_STDLIB_DIR) dune runtest -p mirage-crypto-ec

override_dh_auto_install:
	rm -rf debian/tmp
	cp -a $(CURDIR)/_tmp debian/tmp
	for u in mirage-crypto-rng mirage-crypto-pk mirage-crypto-ec; do rm -rf $(DESTDIR)/usr/doc/$$u; done
	rm -rf debian/tmp/usr/doc/*/LICENSE*

override_dh_strip:
	dh_strip -Xfreestanding
