#!/usr/bin/make -f

$(foreach line,$(shell sed -n '\
  s/^ gnat, gnat-\([0-9.]\+\),$$/ \
    gnat_version:=\1 \
  /p;\
  s/^Package: \(libpcscada\([0-9.]\+\)\)$$/ \
    lib_pkg:=\1 \
    VERSION:=\2 \
  /p;\
  s/^Package: \(libpcscada[0-9.]\+-dev\)$$/ \
    dev_pkg:=\1 \
  /p;\
  ' debian/control),$(eval $(line)))

DEB_BUILD_MAINT_OPTIONS := hardening=+all
include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/buildflags.mk
include /usr/share/ada/debian_packaging-$(gnat_version).mk

make_vars := \
  $(foreach v,ADAFLAGS LDFLAGS VERSION,'$(v)=$($(v))') \
  'GNAT_BUILDER_FLAGS=$(BUILDER_OPTIONS)' \
  'PREFIX=$(CURDIR)/debian/tmp/usr'

%:
	dh ${@}

.PHONY: override_dh_auto_build
override_dh_auto_build:
	$(MAKE) $(make_vars) LIBRARY_KIND=dynamic
	$(MAKE) $(make_vars) LIBRARY_KIND=static
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
	$(MAKE) $(make_vars) doc
endif

.PHONY: override_dh_auto_install
override_dh_auto_install:
	$(MAKE) $(make_vars) install LIBRARY_KIND=dynamic
	$(MAKE) $(make_vars) install LIBRARY_KIND=static

.PHONY: override_dh_auto_test
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) $(make_vars) utests
endif

.PHONY: override_dh_install
override_dh_install: debian/pcscada.gpr
	dh_install -p$(lib_pkg) usr/lib/libpcscada.so.$(VERSION) usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) usr/lib/libpcscada.so usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) usr/lib/libpcscada.a usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) usr/lib/ada usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p$(dev_pkg) usr/share/ada/adainclude
	dh_install -p$(dev_pkg) debian/pcscada.gpr usr/share/gpr

debian/pcscada.gpr: debian/template_pcscada.gpr
	sed s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/ $< > $@

.PHONY: override_dh_clean
override_dh_clean:
	dh_clean debian/pcscada.gpr debian/$(dev_pkg).doc-base

.PHONY: override_dh_installdocs
override_dh_installdocs: debian/$(dev_pkg).doc-base
	dh_installdocs -p$(dev_pkg) doc/html/*
	dh_installdocs --remaining-packages

debian/$(dev_pkg).doc-base: debian/template_libpcscada-dev.doc-base
	sed s/@dev_pkg@/$(dev_pkg)/ $< > $@

.PHONY: override_dh_installexamples
override_dh_installexamples:
	dh_installexamples -p$(dev_pkg) examples/*
	dh_installexamples --remaining-packages

.PHONY: override_dh_missing
override_dh_missing:
	dh_missing --fail-missing

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