#!/usr/bin/make -f
# -*- makefile -*-

export DH_VERBOSE=1

# Don't build libidn11-java on platforms that doesn't have gcj.
NO_JAVA_ARCHES := arm hppa hurd-i386
DEB_HOST_ARCH  ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq (,$(filter $(DEB_HOST_ARCH),$(NO_JAVA_ARCHES)))
  ENABLE_JAVA := --enable-java
else
  export DH_OPTIONS=-Nlibidn11-java
endif

# 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)

CFG_CROSS = --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
CFG_PATHS = --prefix=/usr --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
CFG_VERS = `dpkg-parsechangelog|grep ^Version:|cut -d\  -f2`
CFG_DEBP = --with-packager=Debian --with-packager-version=$(CFG_VERS) --with-packager-bug-reports=http://bugs.debian.org/ --disable-silent-rules

# http://wiki.debian.org/Hardening
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)

config.status: configure
	dh_testdir
	dh_autoreconf
	# Add here commands to configure the package.
	./configure $(CFG_CROSS) $(CFG_PATHS) $(CFG_DEBP) $(ENABLE_JAVA) \
		CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
		LDFLAGS="$(LDFLAGS) -Wl,-z,defs"

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp:  config.status
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE) all
ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
	$(MAKE) check
endif

	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 

	# Add here commands to clean up after the build process.
	[ ! -f Makefile ] || $(MAKE) distclean

	dh_autoreconf_clean
	dh_clean  --exclude ./contrib/doxygen/Doxyfile.orig

install: build
	dh_testdir
	dh_testroot
	dh_prep --exclude ./contrib/doxygen/Doxyfile.orig
	dh_installdirs

	# Add here commands to install the package into debian/tmp
	$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
	install -d $(CURDIR)/debian/libidn11-java/usr/share/doc/libidn11-java/api/
	cp -a $(CURDIR)/doc/java/* $(CURDIR)/debian/libidn11-java/usr/share/doc/libidn11-java/api/
	rm -f $(CURDIR)/debian/libidn11-java/usr/share/doc/libidn11-java/api/package-list

# 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 -A README NEWS TODO AUTHORS THANKS
	dh_installexamples
	dh_install
	dh_installinfo -n
	dh_installman
	dh_link
	dh_strip
	dh_compress -X.png
	dh_fixperms
	dh_makeshlibs -- -c4
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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