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

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

INSTALLDIR = $(CURDIR)/debian/tmp

_prefix = /usr
_datadir = $(_prefix)/share
_docdir = $(_datadir)/doc

configure: configure-stamp
	:

configure-stamp:
	dh_testdir

	[ ! -e src/Makefile.save ] && cp -p src/Makefile src/Makefile.save || :

	sed -e /PTHR/d \
	    -e 's!_$$(GLOBUS_FLAVOUR)!!g' \
	    -e 's!-L$$([A-Z_]*)/lib!!' \
	    -e 's!-L$$([A-Z_]*)/$$(LIBDIR)!!' \
	    -e 's!\(GLOBUS_INCLUDE *= *\).*!\1-I/usr/include/globus -I/usr/$$(LIBDIR)/globus/include -I/usr/kerberos/include!' \
	    -e 's!\(GSOAP_INCLUDE *= *\).*!\1!' \
	    -e 's!\(GSOAP_VERSION *= *\).*!\1!' \
	    -e 's!-I$$(VOMS_LOCATION)/include/glite/security/voms!-I/usr/include/voms!' \
	    -e 's!\.so \\$$!.so!' \
	    -e s/installshlibvomspthr// -i src/Makefile
	sed -e :a -e '/^$$/N;/\n.*$$(AR)/d;ta' -e 'P;D' -i src/Makefile
	sed -e :a -e '/^$$/N;/\n.*$$(RANLIB)/d;ta' -e 'P;D' -i src/Makefile

	touch $@

build: build-stamp
	:

build-stamp: configure-stamp
	dh_testdir

	. ./VERSION && \
	cd src && \
	$(MAKE) USE_VOMS=yes WITH_CPP_LIBS=yes LIBDIR=lib VERSION=$$VERSION

	touch $@

clean:
	dh_testdir
	dh_testroot

	. ./VERSION && \
	cd src && \
	$(MAKE) USE_VOMS=yes WITH_CPP_LIBS=yes LIBDIR=lib VERSION=$$VERSION \
	    clean

	rm -rf src/html
	rm -rf src/man

	[ -e src/Makefile.save ] && mv src/Makefile.save src/Makefile || :

	rm -f build-stamp configure-stamp

	dh_clean 

install: build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k 

	# Yes, the makefile uses RPM_BUILD_ROOT instead of the normal DESTDIR

	. ./VERSION && \
	cd src && \
	$(MAKE) USE_VOMS=yes WITH_CPP_LIBS=yes LIBDIR=lib VERSION=$$VERSION \
	    RPM_BUILD_ROOT=$(INSTALLDIR) install

	mv $(INSTALLDIR)$(_docdir)/CGSI $(INSTALLDIR)$(_docdir)/cgsi-gsoap-dev

binary-indep:
	:

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
	dh_install --fail-missing
	dh_installman
	dh_lintian
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps -l debian/libcgsi-gsoap1/usr/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
	:

VERSION=1.3.4.0
VERSTAG=1_3_4_0
get-orig-source:
	if [ -r ../cgsi-gsoap_$(VERSION).orig.tar.gz ] ; then \
	  echo "cgsi-gsoap_$(VERSION).orig.tar.gz is already existing." ; \
	else \
	  echo "Fetching upstream svn version" ; \
	  svn co http://svnweb.cern.ch/guest/lcgutil/cgsi-gsoap/tags/glite-security-cgsi-gsoap_R_$(VERSTAG) cgsi-gsoap-$(VERSION) ; \
	  echo "Packing it up." ; \
	  tar --exclude .svn -z -c -f ../cgsi-gsoap_$(VERSION).orig.tar.gz \
	    cgsi-gsoap-$(VERSION) ; \
	  echo "Cleaning up." ; \
	  rm -rf cgsi-gsoap-$(VERSION) ; \
	fi

.Phony: build clean binary-indep binary-arch binary install configure get-orig-source
