#!/usr/bin/make -f

CC = gcc

DEB_HOST_ARCH      := $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null)
DEB_HOST_GNU_TYPE  := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE 2>/dev/null)
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE 2>/dev/null)

ifneq (,$(findstring :$(DEB_HOST_ARCH):,:amd64:i386:ppc64:s390:sparc:kfreebsd-amd64:))
ifeq ($(DEB_HOST_ARCH),amd64)
BIARCH_LIBDIR        := /usr/lib32
BIARCH_HOST_GNU_TYPE := i486-linux-gnu
BIARCH_CC            := $(CC) -m32
endif
ifeq ($(DEB_HOST_ARCH),i386)
BIARCH_LIBDIR        := /usr/lib64
BIARCH_HOST_GNU_TYPE := x86_64-linux-gnu
BIARCH_CC            := $(CC) -m64
endif
ifeq ($(DEB_HOST_ARCH),ppc64)
BIARCH_LIBDIR        := /usr/lib32
BIARCH_HOST_GNU_TYPE := powerpc-linux-gnu
BIARCH_CC            := $(CC) -m32
endif
ifeq ($(DEB_HOST_ARCH),s390)
BIARCH_LIBDIR        := /usr/lib64
BIARCH_HOST_GNU_TYPE := s390x-linux-gnu
BIARCH_CC            := $(CC) -m64
endif
ifeq ($(DEB_HOST_ARCH),sparc)
BIARCH_LIBDIR        := /usr/lib64
BIARCH_HOST_GNU_TYPE := sparc64-linux-gnu
BIARCH_CC            := $(CC) -m64
endif
ifeq ($(DEB_HOST_ARCH),kfreebsd-amd64)
BIARCH_LIBDIR        := /usr/lib32
BIARCH_HOST_GNU_TYPE := i486-kfreebsd-gnu
BIARCH_CC            := $(CC) -m32
endif
LIBPATH := /usr/lib/fakechroot:$(BIARCH_LIBDIR)/fakechroot
else
BIARCH_HOST_GNU_TYPE :=
LIBPATH := /usr/lib/fakechroot
endif

COMMON_CONFIG := \
    --config-cache \
    --prefix=/usr \
    --mandir=/usr/share/man \
    --with-libpath=$(LIBPATH) \
    --disable-static \
    --disable-maintainer-mode \
    --disable-dependency-tracking

%:
	dh $@

override_dh_auto_clean:
	test -f Makefile && make distclean || true
	rm -rf build-tree-*

override_dh_auto_configure:
	mkdir -p build-tree-lib
	cd build-tree-lib && \
	../configure \
	    $(COMMON_CONFIG) \
	    CC="$(CC)"
	
ifneq (,$(BIARCH_HOST_GNU_TYPE))
	mkdir -p build-tree-lib-biarch
	cd build-tree-lib-biarch && \
	../configure \
	    --build=$(DEB_BUILD_GNU_TYPE) \
	    --host=$(BIARCH_HOST_GNU_TYPE) \
	    --libdir=$(BIARCH_LIBDIR) \
	    $(COMMON_CONFIG) \
	    CC="$(BIARCH_CC)"
endif

override_dh_auto_build:
	cd build-tree-lib && make
	cd build-tree-lib && make test PROVE='prove --failures'
ifneq (,$(BIARCH_HOST_GNU_TYPE))
	cd build-tree-lib-biarch && make
endif

override_dh_auto_install:
	cd build-tree-lib && make install DESTDIR=$(CURDIR)/debian/tmp
ifneq (,$(BIARCH_HOST_GNU_TYPE))
	cd build-tree-lib-biarch && make install DESTDIR=$(CURDIR)/debian/tmp
endif

override_dh_shlibdeps:
	dh_shlibdeps -X/usr/lib32/fakechroot/ -X/usr/lib64/fakechroot/
ifneq (,$(BIARCH_HOST_GNU_TYPE))
	dh_shlibdeps -X/usr/lib/fakechroot/ -- -pshlibs-biarch -dSuggests
endif
