#!/usr/bin/make -f

# Extract useful information from debian/control.
# Replace eval with warning to debug.
$(foreach line,$(shell sed -n '\
  s/^ gnat, gnat-\([0-9.]\+\),$$/gnat_version:=\1/p;\
  s/^Package: libalog\([0-9.]\+\)$$/soversion:=\1/p;\
  s/^Package: \(libalog[0-9.]\+-dev\)$$/dev_pkg:=\1/p\
  ' debian/control),$(eval $(line)))
lib_pkg := libalog$(soversion)

DPKG_EXPORT_BUILDFLAGS  = 1
DEB_BUILD_MAINT_OPTIONS = hardening=+all

include /usr/share/dpkg/default.mk
include /usr/share/ada/debian_packaging-$(gnat_version).mk

export GNAT_BUILDER_FLAGS = $(BUILDER_OPTIONS)

installed_project := debian/alog.gpr

%:
	dh ${@}

override_dh_auto_clean:
	$(MAKE) clean
	rm -f $(installed_project)

override_dh_auto_build-arch:
ifeq ($(DEB_HOST_ARCH),kfreebsd-i386)
	patch -p1 < debian/Don-t-store-tracebacks-in-exception-occurrences.patch
endif
	$(MAKE) VERSION=$(soversion)
	$(MAKE) LDFLAGS= LIBRARY_KIND=static

override_dh_auto_build-arch: $(installed_project)
$(installed_project): debian/template_alog.gpr
	sed s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/ $< > $@

override_dh_auto_build-indep:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	$(MAKE) doc
endif

override_dh_auto_install-arch:
	$(MAKE) PREFIX=$(CURDIR)/debian/tmp/usr install VERSION=$(soversion)
	$(MAKE) PREFIX=$(CURDIR)/debian/tmp/usr LDFLAGS= LIBRARY_KIND=static install
	rm -rf debian/tmp/usr/lib/gnat

override_dh_auto_install-indep:

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) $(MAKE_OPTS) tests VERSION=$(soversion)
endif

override_dh_install:
	dh_install -p$(lib_pkg) usr/lib/libalog.so.$(soversion) usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) $(installed_project) usr/share/gpr
	dh_install -p$(dev_pkg) usr/lib/libalog.a usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) usr/lib/libalog.so usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) usr/lib/alog/*.ali usr/lib/$(DEB_HOST_MULTIARCH)/ada/adalib/alog
	dh_install -p$(dev_pkg) usr/include/alog/*.ad[bs] usr/share/ada/adainclude/alog
	dh_install --remaining-packages
	dh_missing --fail-missing

override_dh_compress:
	dh_compress -X.ads -X.adb -XMakefile
