#!/usr/bin/make -f

-include /usr/share/dpkg/buildflags.mk

# Filter out -Wl,-Bsymbolic-functions from default Ubuntu LDFLAGS
COMMA = ,
LDFLAGS := $(filter-out -Wl$(COMMA)-Bsymbolic-functions,$(LDFLAGS))

CANL_SUPPORT = no

ifeq ($(CANL_SUPPORT),yes)
CANL_CONFIGURE_OPTION = --enable-canlxx
else
CANL_CONFIGURE_OPTION =
endif

configure: configure-stamp

configure-stamp:
	dh_testdir

	if [ ! -f po/POTFILES.in.save ] ; then \
	    cp -p po/POTFILES.in po/POTFILES.in.save ; \
	fi

	dh_autoreconf

	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
	CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS) -Wl,-z,defs" \
	./configure --host=$(DEB_HOST_GNU_TYPE) \
		    --build=$(DEB_BUILD_GNU_TYPE) \
		    --prefix=/usr \
		    --libexecdir='$${prefix}/lib' \
		    --sysconfdir=/etc \
		    --localstatedir=/var \
		    --mandir='$${datadir}/man' \
		    --infodir='$${datadir}/info' \
		    --disable-doc \
		    --with-docdir='$${datadir}/doc/nordugrid-arc' \
		    --with-jnidir='$${datadir}/java' \
		    --with-jninativedir='$${libdir}/jni' \
		    --enable-sqlite \
		    $(CANL_CONFIGURE_OPTION)
	touch $@

build: build-arch build-indep

build-arch: build-stamp

build-indep: build-stamp

build-stamp: configure-stamp
	dh_testdir

	$(MAKE)
	$(MAKE) check

	touch $@

clean:
	dh_testdir
	dh_testroot

	if [ -r Makefile ] ; then $(MAKE) distclean ; fi

	rm -f debian/nordugrid-arc-arex.a-rex.init
	rm -f debian/nordugrid-arc-hed.arched.init
	rm -f debian/nordugrid-arc-cache-service.arc-cache-service.init
	rm -f debian/nordugrid-arc-datadelivery-service.arc-datadelivery-service.init
	rm -f debian/nordugrid-arc-gridftpd.gridftpd.init
	rm -f debian/nordugrid-arc-aris.nordugrid-arc-bdii.init
	rm -f debian/nordugrid-arc-ldap-infosys.nordugrid-arc-ldap-infosys.init
	rm -f debian/nordugrid-arc-ldap-infosys.nordugrid-arc-slapd.init
	rm -f debian/nordugrid-arc-ldap-infosys.nordugrid-arc-inforeg.init
	rm -f debian/nordugrid-arc-egiis.nordugrid-arc-egiis.init
	rm -f debian/nordugrid-arc-acix-cache.acix-cache.init
	rm -f debian/nordugrid-arc-acix-index.acix-index.init

	if [ -f po/POTFILES.in.save ] ; then \
	    mv po/POTFILES.in.save po/POTFILES.in ; \
	fi

	find python src -name *.pyc -exec rm {} ';'
	rm -rf src/services/acix/*/test/_trial_temp

	dh_autoreconf_clean

	dh_clean configure-stamp build-stamp

install: build-stamp
	dh_testdir
	dh_testroot
	[ -x /usr/bin/dh_prep ] && dh_prep || dh_clean -k

	$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install

	find $(CURDIR)/debian/tmp -name \*.la -exec rm -fv '{}' ';'

	rm -f $(CURDIR)/debian/tmp/usr/lib/arc/lib*.a

	rm -f $(CURDIR)/debian/tmp/usr/lib/libarcglobusutils.so

	mv debian/tmp/etc/init.d/a-rex \
	   debian/nordugrid-arc-arex.a-rex.init
	mv debian/tmp/etc/init.d/arched \
	   debian/nordugrid-arc-hed.arched.init
	mv debian/tmp/etc/init.d/arc-cache-service \
	   debian/nordugrid-arc-cache-service.arc-cache-service.init
	mv debian/tmp/etc/init.d/arc-datadelivery-service \
	   debian/nordugrid-arc-datadelivery-service.arc-datadelivery-service.init
	mv debian/tmp/etc/init.d/gridftpd \
	   debian/nordugrid-arc-gridftpd.gridftpd.init
	mv debian/tmp/etc/init.d/nordugrid-arc-bdii \
	   debian/nordugrid-arc-aris.nordugrid-arc-bdii.init
	mv debian/tmp/etc/init.d/nordugrid-arc-ldap-infosys \
	   debian/nordugrid-arc-ldap-infosys.nordugrid-arc-ldap-infosys.init
	mv debian/tmp/etc/init.d/nordugrid-arc-slapd \
	   debian/nordugrid-arc-ldap-infosys.nordugrid-arc-slapd.init
	mv debian/tmp/etc/init.d/nordugrid-arc-inforeg \
	   debian/nordugrid-arc-ldap-infosys.nordugrid-arc-inforeg.init
	mv debian/tmp/etc/init.d/nordugrid-arc-egiis \
	   debian/nordugrid-arc-egiis.nordugrid-arc-egiis.init
	mv debian/tmp/etc/init.d/acix-cache \
	   debian/nordugrid-arc-acix-cache.acix-cache.init
	mv debian/tmp/etc/init.d/acix-index \
	   debian/nordugrid-arc-acix-index.acix-index.init

binary: binary-arch binary-indep

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installdirs -a
	dh_installdocs -a
	dh_installexamples -a
	dh_installman -a
	dh_installlogrotate -a
	if dpkg --compare-versions `dpkg-query -W -f='$${version}' debhelper` \
	    lt 7.4.16 ; then \
	dh_install -a ; \
	else \
	dh_install -a --fail-missing ; \
	fi
	dh_installchangelogs -a
	dh_installinit -p nordugrid-arc-hed --name arched
	dh_installinit -p nordugrid-arc-arex --name a-rex
	dh_installinit -p nordugrid-arc-cache-service --name arc-cache-service
	dh_installinit -p nordugrid-arc-datadelivery-service --name arc-datadelivery-service
	dh_installinit -p nordugrid-arc-egiis --name nordugrid-arc-egiis -- start 76 2 3 4 5 . stop 24 0 1 6 .
	dh_installinit -p nordugrid-arc-gridftpd --name gridftpd
	dh_perl -a
	dh_python2 -a
	[ -x /usr/bin/dh_lintian ] && dh_lintian -a || :
	dh_link -a
	dh_strip -a --dbg-package=nordugrid-arc-dbg
	dh_compress -a -X .pdf
	dh_fixperms -a
	dh_makeshlibs -a -X arc-infoindex-slapd-wrapper.so
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-indep: install
	dh_testdir
	dh_testroot
	dh_installdirs -i
	dh_installdocs -i
	dh_installexamples -i
	dh_installman -i
	dh_installlogrotate -i
	if dpkg --compare-versions `dpkg-query -W -f='$${version}' debhelper` \
	    lt 7.4.16 ; then \
	dh_install -i ; \
	else \
	dh_install -i --fail-missing ; \
	fi
	dh_installchangelogs -i
	dh_installinit -p nordugrid-arc-aris --name nordugrid-arc-bdii -- start 76 2 3 4 5 . stop 24 0 1 6 .
	dh_installinit -p nordugrid-arc-ldap-infosys --name nordugrid-arc-ldap-infosys -- stop 20 0 1 2 3 4 5 6 .
	dh_installinit -p nordugrid-arc-ldap-infosys --name nordugrid-arc-slapd -- start 75 2 3 4 5 . stop 25 0 1 6 .
	dh_installinit -p nordugrid-arc-ldap-infosys --name nordugrid-arc-inforeg -- start 75 2 3 4 5 . stop 25 0 1 6 .
	dh_installinit -p nordugrid-arc-acix-cache --name acix-cache
	dh_installinit -p nordugrid-arc-acix-index --name acix-index
	dh_perl -i
	dh_python2 -i
	[ -x /usr/bin/dh_lintian ] && dh_lintian -i || :
	dh_link -i
	dh_compress -i -X .pdf
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

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