#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1


# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_MULTIARCH  ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

CFLAGS = -Wall
CFLAGS += $(shell dpkg-buildflags --get CFLAGS)

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

# Only enable async mode on Linux targets
ifeq ($(DEB_BUILD_ARCH_OS),linux)
  confflags = --with-async-mode
else
  confflags =
endif

# Available python versions
PYVERS = $(shell pyversions -v -r debian/control)

build: build-arch build-indep

build-arch: build-arch-stamp-main $(PYVERS:%=build-arch-stamp-python-%)

build-arch-stamp-main:
	dh_testdir
	dh_autoreconf
	mkdir $(CURDIR)/build-main
	cd $(CURDIR)/build-main && \
		CFLAGS="$(CFLAGS)" ../configure $(confflags) \
			--host=$(DEB_HOST_GNU_TYPE) \
			--build=$(DEB_BUILD_GNU_TYPE) \
			--prefix=/usr \
			--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
			--mandir=\$${prefix}/share/man \
			--infodir=\$${prefix}/share/info \
			--enable-libftdipp \
			--disable-python-binding
	cd $(CURDIR)/build-main && \
		$(MAKE)
	touch $@

build-arch-stamp-python-%:
	dh_testdir
	mkdir $(CURDIR)/build-python$*
	cd $(CURDIR)/build-python$* && \
		CFLAGS="$(CFLAGS)" PYTHON="python$*" ../configure $(confflags) \
			--host=$(DEB_HOST_GNU_TYPE) \
			--build=$(DEB_BUILD_GNU_TYPE) \
			--prefix=/usr \
			--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
			--mandir=\$${prefix}/share/man \
			--infodir=\$${prefix}/share/info \
			--disable-libftdipp \
			--without-docs \
			--enable-python-binding
	cd $(CURDIR)/build-python$* && \
		$(MAKE)
	touch $@

build-indep: build-indep-stamp

build-indep-stamp:
	dh_testdir 
	touch $@

install-stamp-common:
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	touch $@

install: install-stamp-main $(PYVERS:%=install-stamp-python-%)
	dh_install --sourcedir=debian/tmp
	touch $@
	
install-stamp-main: build-arch-stamp-main install-stamp-common
	cd build-main && \
		$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
	touch $@

install-stamp-python-%: build-arch-stamp-python-% install-stamp-common
	cd build-python$* && \
		$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -rf build-main build-python*
	rm -f *-stamp*
	dh_autoreconf_clean
	dh_clean 

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_installexamples
	dh_installman
	dh_link
	dh_strip -plibftdi1 --dbg-package=libftdi1-dbg
	dh_strip -plibftdipp1 --dbg-package=libftdipp1-dbg
	dh_strip --remaining-packages
	dh_compress
	dh_fixperms
	dh_python2
	dh_makeshlibs -V
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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