#!/usr/bin/make -f

SHELL := sh -e

DEB_HOST_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
	CROSS=CC=$(DEB_HOST_GNU_TYPE)-gcc
else
	CROSS=
endif

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp
	rm -f config.guess config.sub

	[ ! -f Makefile ] || $(MAKE) distclean

	dh_clean

config.status: configure
	dh_testdir

ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp -f /usr/share/misc/config.guess config.guess
endif

	./configure $(CROSS) --prefix=/usr --libdir=/lib --with-curl --with-debug CFLAGS="$(CFLAGS)"

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

	$(MAKE)

	touch build-stamp

install: build
	dh_testdir
	dh_testroot
	dh_prep

	# Installing package
	$(MAKE) DESTDIR=$(CURDIR)/debian/libpam-pkcs11 install

	# remove .la files
	rm debian/libpam-pkcs11/lib/security/*.la
	rm debian/libpam-pkcs11/lib/pam_pkcs11/*.la

	# Installing documentation
	mkdir -p debian/libpam-pkcs11/usr/share/doc/libpam-pkcs11/html
	cp -r doc/*.html doc/*.css doc/api debian/libpam-pkcs11/usr/share/doc/libpam-pkcs11/html

	# Removing old programs
	rm -f debian/libpam-pkcs11/usr/bin/card_eventmgr
	rm -f debian/libpam-pkcs11/usr/share/pam_pkcs11/card_eventmgr.conf.example
	rm -f debian/libpam-pkcs11/usr/share/man/man1/card_eventmgr.1

	# Renaming binaries
	cd debian/libpam-pkcs11/usr/bin ; mv make_hash_link.sh pkcs11_make_hash_link

	# Moving examples
	mv debian/libpam-pkcs11/usr/share/doc/pam_pkcs11 debian/libpam-pkcs11/usr/share/doc/libpam-pkcs11/examples

	# Renaming examples
	cd debian/libpam-pkcs11/usr/share/doc/libpam-pkcs11/examples ; \
	for FILE in *; \
	do \
		mv $$FILE $$FILE.example; \
	done

binary: binary-arch

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_strip --dbg-package=pam-pkcs11-dbg
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-indep:

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