#!/usr/bin/make -f

OCAMLABI := $(shell ocamlc -version)

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp
	rm -rf $(CURDIR)/build
	dh_clean 

build: build-arch
build-indep:
build-arch: build-stamp

VENDOR := /tmp/0install-build-vendor
OCAMLPATH := $(VENDOR)/lib

build-stamp:
	dh_testdir
	mv vendor/lwt_glib-1.1.1 . && dune build @lwt_glib-1.1.1/install && dune install --prefix=$(VENDOR) lwt_glib && rm -rf lwt_glib-1.1.1
	if [ -x /usr/bin/ocamlopt ]; then \
		make OCAMLPATH=$(OCAMLPATH) TYPE=native; \
	else \
		make OCAMLPATH=$(OCAMLPATH) all TYPE=byte; \
	fi
	rm -rf /tmp/0install-build-vendor
	touch $@

install: build-stamp
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	$(CURDIR)/dist/install.sh $(CURDIR)/debian/0install-core/usr
	mkdir -p $(CURDIR)/debian/0install/usr/lib/0install.net
	mkdir -p $(CURDIR)/debian/0install/usr/share/applications
	mv $(CURDIR)/debian/0install-core/usr/lib/0install.net/gui_gtk.* $(CURDIR)/debian/0install/usr/lib/0install.net/
	mv $(CURDIR)/debian/0install-core/usr/share/applications/0install.desktop $(CURDIR)/debian/0install/usr/share/applications/
	rmdir $(CURDIR)/debian/0install-core/usr/lib/0install.net
	rmdir $(CURDIR)/debian/0install-core/usr/lib
	mv $(CURDIR)/debian/0install-core/usr/share/zsh/site-functions $(CURDIR)/debian/0install-core/usr/share/zsh/vendor-completions
	rm -r $(CURDIR)/debian/0install-core/usr/share/doc/0install
	if [ -x /usr/bin/ocamlopt ]; then \
		dh_strip; dh_shlibdeps; \
	fi

binary-arch: build-stamp install
	dh_testdir
	dh_testroot
	dh_installchangelogs -p 0install-core
	dh_installdocs -a --link-doc=0install-core
	dh_installman -a
	dh_compress -a
	dh_fixperms -a
	#dh_ocaml		(not for -custom bytecode)
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-indep:
	dh_testdir
	dh_testroot
	dh_installdocs -i --link-doc=0install-core
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary: binary-indep binary-arch

.PHONY: build clean binary-indep binary-arch binary install
