#!/usr/bin/make -f
# Debian build script for XML EZ OUT - Copyright (c) 2009-2014 Xavier Grave

include /usr/share/dpkg/default.mk
include /usr/share/ada/debian_packaging.mk

#ADAFLAGS := $(patsubst -Wformat -Wformat-security -Werror=format-security,,$(CFLAGS))
ADAFLAGS += -gnat05 -gnatf -gnaty -gnatwa -gnatwe

.PHONY:  build build-arch build-indep clean binary binary-arch binary-indep install
build build-arch build-indep clean binary binary-arch binary-indep install:
	dh $@ --with ada-library

override_dh_auto_install:

override_dh_auto_build-arch:
	gnatmake $(BUILDER_OPTIONS) -Pdebian/build_xmlezout -Xkind=static \
	  $(foreach f,ADAFLAGS,"-X$(f)=$($(f))")
	gnatmake $(BUILDER_OPTIONS) -Pdebian/build_xmlezout -XSONAME=$(soname) -Xkind=dynamic \
	  $(foreach f,ADAFLAGS LDFLAGS,"-X$(f)=$($(f))")

override_dh_auto_clean:
	rm -f $(foreach d, lib obj, \
	      $(foreach k, dynamic static, \
	      debian/build_$(d)_$(k)/*))
	dh_auto_clean

ADA_SOURCES=$(wildcard mckae*.ad[sb])

aliversion := $(shell sed -n -r 's/^Package: libxmlezout(.*)-dev$$/\1/p' debian/control)
soversion := $(shell sed -n -r 's/^Package: libxmlezout([^-]+)$$/\1/p' debian/control)
soname := libxmlezout.so.$(soversion)
regexp := ^Version: ([^.]+)\.([^.]+)\.([^.]+)-(.*)
major := $(shell dpkg-parsechangelog | grep "^Version: " |  sed -r 's/$(regexp)/\1/')
minor := $(shell dpkg-parsechangelog | grep "^Version: " |  sed -r 's/$(regexp)/\2/')
extraminor := $(shell dpkg-parsechangelog | grep "^Version: " |  sed -r 's/$(regexp)/\3/')
upload := $(shell dpkg-parsechangelog | grep "^Version: " |  sed -r 's/$(regexp)/\4/')
mtnversion := t:libxmlezout-1.06.1
mtnbase := base_debian.db
branch := com.mckae.xml_ez_out
mtn_uri := mtn://www.ada-france.org?$(branch)
orig_dir := libxmlezout.orig
orig_tgz := libxmlezout.orig.tar.gz
pkg_orig_dir := libxmlezout-$(major).$(minor).$(extraminor).orig
pkg_orig_tgz := libxmlezout_$(major).$(minor).$(extraminor).orig.tar.gz
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

CPUS := $(shell getconf _NPROCESSORS_ONLN)

ifneq (,$(wildcard /usr/share/dpkg/default.mk))
include /usr/share/dpkg/default.mk
endif

get-orig-source:
	TMPDIR=$$(mktemp --tmpdir --directory libxmlezout-get-orig-source-XXXXXXXXXX) && \
	if [ -e ../$(mtnbase) ]; then \
                cp ../$(mtnbase) $$TMPDIR; \
        fi; \
	mtn clone -d $$TMPDIR/$(mtnbase) $(mtn_uri) -k "" $$TMPDIR/$(orig_dir) && \
	(cd $$TMPDIR && tar --create --gzip --exclude="_MTN" $(orig_dir)) > $(orig_tgz) ; \
	rm -rf $$TMPDIR
	@echo "The file $(orig_tgz) contains the latest Debian snapshot of upstream sources."

get-pkg-source:
	TMPDIR=$$(mktemp --tmpdir --directory libxmlezout-get-pkg-source-XXXXXXXXXX) && \
	if [ -e ../$(mtnbase) ]; then \
                cp ../$(mtnbase) $$TMPDIR; \
        fi; \
	mtn clone -r $(mtnversion) -d $$TMPDIR/$(mtnbase) $(mtn_uri) -k "" $$TMPDIR/$(pkg_orig_dir) && \
	(cd $$TMPDIR && tar --create --gzip --exclude="_MTN" $(pkg_orig_dir)) > $(pkg_orig_tgz) ; \
	rm -rf $$TMPDIR
	@echo "The file $(pkg_orig_tgz) contains the latest Debian snapshot of upstream sources."

show_rules_env:
	@echo ADA_SOURCES=$(ADA_SOURCES)
	@echo aliversion=$(aliversion)
	@echo soversion=$(soversion)
	@echo soname=$(soname)
	@echo major=$(major)
	@echo minor=$(minor)
	@echo upload=$(upload)
	@echo mtncersion=$(mtnversion)
	@echo orig_dir=$(orig_dir)
	@echo orig_tgz=$(orig_tgz)
