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

LFC_SUPPORT = yes

ifeq ($(LFC_SUPPORT),yes)
LFC_CONFIGURE_OPTION =
else
LFC_CONFIGURE_OPTION = --disable-lfc
endif

configure: configure-stamp

configure-stamp:
	dh_testdir
	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
	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' \
		    $(LFC_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.grid-infosys.init

	dh_clean configure-stamp build-stamp

install: build-stamp
	dh_testdir
	dh_testroot
	dh_prep

	$(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

	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/grid-infosys \
	   debian/nordugrid-arc-aris.grid-infosys.init

	mkdir -p debian/tmp/usr/share/java
	mv debian/tmp/usr/lib/java/*.jar debian/tmp/usr/share/java
	mkdir -p debian/tmp/usr/lib/jni
	mv debian/tmp/usr/lib/java/*.so debian/tmp/usr/lib/jni

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
	dh_install -a --fail-missing
	dh_installchangelogs -a
	dh_installinit -a --name arched
	dh_installinit -a --name a-rex
	dh_installinit -a --name arc-cache-service
	dh_installinit -a --name arc-datadelivery-service
	dh_installinit -a --name gridftpd
	dh_installinit -a --name grid-infosys
	dh_perl -a
	dh_python2 -a
	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
	dh_install -i --fail-missing
	dh_installchangelogs -i
	dh_perl -i
	dh_python2 -i
	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
