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

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

export DEB_BUILD_OPTIONS=nocheck

export DEB_BUILD_HARDENING=1 

PYVERS=$(shell pyversions -vs)

%:
	dh --with quilt --with python-support ${@}

override_dh_auto_clean:
	ln -sf ../debian examples/
	ln -sf ../debian drill/

	[ -e $(CURDIR)/libtool ] || ln -s /usr/bin/libtool
	(cd $(CURDIR); dh_auto_clean;)
	(cd $(CURDIR)/examples; dh_auto_clean;)
	(cd $(CURDIR)/drill; dh_auto_clean;)

	if test -f debian/config.sub; then \
		mv debian/config.sub config.sub ; \
	fi
	if test -f debian/config.guess; then \
		mv debian/config.guess config.guess ; \
	fi

	rm -f config.log
	rm -f examples/config.sub examples/config.guess examples/config.log
	rm -f drill/config.sub drill/config.guess drill/config.log
	rm -f libtool
	rm -f examples/debian drill/debian

override_dh_auto_configure:
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp config.sub debian/config.sub
	cp -f /usr/share/misc/config.sub config.sub
	cp -f /usr/share/misc/config.sub examples/config.sub
	cp -f /usr/share/misc/config.sub drill/config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp config.guess debian/config.guess
	cp -f /usr/share/misc/config.guess config.guess
	cp -f /usr/share/misc/config.guess examples/config.guess
	cp -f /usr/share/misc/config.guess drill/config.guess
endif
	ln -sf ../debian examples/
	ln -sf ../debian drill/

	autoreconf -fi
	DEB_BUILD_HARDENING=1 PYTHON_VERSION=$$v dh_auto_configure -- --disable-rpath --enable-gost --without-pyldns;
	$(MAKE) copy-headers;
	for v in $(PYVERS); do \
	  DEB_BUILD_HARDENING=1 PYTHON_VERSION=$$v dh_auto_configure -Bbuild-python$$v -- --disable-rpath --enable-gost --with-pyldns; \
	  dh_auto_build -Bbuild-python$$v -- copy-headers; \
	done

	(cd $(CURDIR)/examples; autoreconf -fi; DEB_BUILD_HARDENING=1 dh_auto_configure -- --disable-rpath --enable-gost;)
	(cd $(CURDIR)/drill; autoreconf -fi; DEB_BUILD_HARDENING=1 dh_auto_configure -- --disable-rpath --enable-gost;)

override_dh_auto_build:
	DEB_BUILD_HARDENING=1 dh_auto_build;

	for v in $(PYVERS); do \
	  ln -s $(CURDIR)/libldns.la build-python$$v; \
	  mkdir build-python$$v/.libs/; \
          ln -s $(CURDIR)/.libs/libldns.la* $(CURDIR)/.libs/libldns.so* $(CURDIR)/.libs/libldns.a build-python$$v/.libs/; \
	done

	for v in $(PYVERS); do \
	  DEB_BUILD_HARDENING=1 dh_auto_build -Bbuild-python$$v -- _ldns.la; \
	done

	(cd $(CURDIR)/examples; DEB_BUILD_HARDENING=1 dh_auto_build;)

	(cd $(CURDIR)/drill; DEB_BUILD_HARDENING=1 dh_auto_build;)

override_dh_auto_install:
	dh_auto_install -- DESTDIR=$(CURDIR)/debian/tmp;

	for v in $(PYVERS); do \
	  PYTHON_DIR=$$(python$$v -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0,0);"); \
	  make -C build-python$$v DESTDIR=$(CURDIR)/debian/tmp install-pyldns; \
	  mv $(CURDIR)/debian/tmp$${PYTHON_DIR}/$$(readlink $(CURDIR)/debian/tmp$${PYTHON_DIR}/_ldns.so) $(CURDIR)/debian/tmp$${PYTHON_DIR}/_ldns.so; \
	  chrpath -d $(CURDIR)/debian/tmp$${PYTHON_DIR}/_ldns.so; \
	done

	(cd $(CURDIR)/examples; dh_auto_install -- DESTDIR=$(CURDIR)/debian/tmp;)
	(cd $(CURDIR)/drill; dh_auto_install -- DESTDIR=$(CURDIR)/debian/tmp;)
