#!/usr/bin/make -f

# export DH_VERBOSE=1

export DH_OPTIONS
export LANG=C

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

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif

configure: configure-stamp
	:

configure-stamp:
	dh_testdir
	LANG=C CFLAGS="$(CFLAGS)" 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'
	touch $@

build: build-arch build-indep
	:

build-arch: build-arch-stamp
	:

build-arch-stamp: configure-stamp
	LANG=C $(MAKE)
	LANG=C $(MAKE) check
	touch $@

build-indep: build-indep-stamp
	:

build-indep-stamp: configure-stamp
	LANG=C $(MAKE) doc
	touch $@

clean:
	dh_testdir
	dh_testroot

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

	rm -f debian/nordugrid-arc-nox-arex.a-rex.init
	rm -f debian/nordugrid-arc-nox-server.arched.init

	dh_clean configure-stamp build-arch-stamp build-indep-stamp 

install: install-indep install-arch
	:

install-indep: build-indep-stamp
	dh_testdir
	dh_testroot
	dh_clean -k -i

install-arch: build-arch-stamp
	dh_testdir
	dh_testroot
	dh_clean -k -a
	LANG=C $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install

	rm -f $(CURDIR)/debian/tmp/usr/lib/arc/lib*.la
	rm -f $(CURDIR)/debian/tmp/usr/lib/arc/lib*.a
	rm -rf $(CURDIR)/debian/tmp/usr/share/doc/arc
	rm -f $(CURDIR)/debian/tmp/usr/share/arc/examples/storage_service.xml.example

	cd $(CURDIR)/debian/tmp; \
	chrpath -d ./usr/lib/arc/downloader ./usr/lib/arc/gm-jobs \
		./usr/lib/arc/gm-kick ./usr/lib/arc/libarex.so \
		./usr/lib/arc/uploader

	cd $(CURDIR)/debian/tmp; \
	chrpath -d `find ./usr/bin/ \! -name chelonia -a -type f` ./usr/sbin/arched

	cd $(CURDIR)/debian/tmp; \
	chrpath -d `find ./usr/lib/ -name "*.so*" -a -type f`

	mv debian/tmp/etc/init.d/a-rex debian/nordugrid-arc-nox-arex.a-rex.init

	cp -p src/hed/daemon/scripts/arched.debian \
		debian/nordugrid-arc-nox-server.arched.init

binary-indep: install-indep
	dh_testdir
	dh_testroot
	dh_installdirs -i
	dh_installexamples -i
	dh_installman -i
	dh_installdocs -i
	dh_installchangelogs -i
	dh_compress -i -X .pdf
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: install-arch
	dh_testdir
	dh_testroot
	dh_installdirs -a
	dh_installdocs -a
	dh_installexamples -a
	dh_installman -a
	dh_install -a --fail-missing
	dh_installchangelogs -a
	dh_installinit --name arched
	dh_installinit --name a-rex
	dh_perl -a
	dh_pysupport -a
	dh_link -a
	dh_strip -a
	dh_compress -a -X .pdf
	dh_fixperms -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-arch binary-indep
	:

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