#!/usr/bin/make -f

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

LFC_SUPPORT = yes

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

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
	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' \
		    --disable-doc \
		    --with-docdir='$${datadir}/doc/nordugrid-arc' \
		    $(LFC_CONFIGURE_OPTION)
	touch $@

build: 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.cache-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_clean -k

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

	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/cache-service debian/nordugrid-arc-cache-service.cache-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

binary-indep:
	:

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installdirs
	dh_installdocs
	dh_installexamples
	dh_installman
	dh_installlogrotate
	dh_install --fail-missing
	dh_installchangelogs
	dh_installinit --name arched
	dh_installinit --name a-rex
	dh_installinit --name cache-service
	dh_installinit --name gridftpd
	dh_installinit --name grid-infosys
	dh_perl
	dh_pysupport
	dh_link
	dh_strip --dbg-package=nordugrid-arc-dbg
	dh_compress -X .pdf
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-arch binary-indep
	:

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