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

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

INSTALLDIR = $(CURDIR)/debian/tmp

_prefix = /usr
_bindir = $(_prefix)/bin
_sbindir = $(_prefix)/sbin
_libdir = $(_prefix)/lib
_includedir = $(_prefix)/include
_sysconfdir = /etc
_localstatedir = /var
_datadir = $(_prefix)/share
_mandir = $(_datadir)/man
_docdir = $(_datadir)/doc

configure: configure-stamp

configure-stamp:
	dh_testdir

	touch $@

build: build-indep build-arch

build-indep: build-stamp

build-arch: build-stamp

build-stamp: configure-stamp
	dh_testdir

	cd src && \
	$(MAKE) build gridsite-delegation.cgi htproxyput prefix=/usr \
	    CFLAGS="$(CFLAGS) $(CPPFLAGS)" LDFLAGS="$(LDFLAGS)"

	touch $@

clean:
	dh_testdir
	dh_testroot

	cd src && \
	$(MAKE) clean

	rm -rf doc/doxygen
	rm -f doc/*.1.html
	rm -f doc/*.8.html

	rm -f build-stamp configure-stamp

	dh_clean

install: build-stamp
	dh_testdir
	dh_testroot
	dh_prep

	cd src && \
	$(MAKE) install install-ws DESTDIR=$(INSTALLDIR) prefix=/usr

	# Let dh_apache2 handle module installation
	rm -rf mv $(INSTALLDIR)$(_libdir)/httpd

	# Let debhelper do the compression
	gunzip $(INSTALLDIR)$(_mandir)/man*/*

	# This is not really useful
	rm -f $(INSTALLDIR)$(_libdir)/libgridsite_globus.*
	rm -f $(INSTALLDIR)$(_libdir)/libgridsite_nossl.*

	# Remove these - docs are installed using the debian/*.docs files
	rm -rf $(INSTALLDIR)$(_datadir)/doc

	# Set up root area to serve files from
	mkdir -p $(INSTALLDIR)$(_localstatedir)/lib/gridsite
	mkdir -p $(INSTALLDIR)$(_sysconfdir)/gridsite
	install -m 0644 debian/gridsitehead.txt \
	   $(INSTALLDIR)$(_sysconfdir)/gridsite/gridsitehead.txt
	install -m 0644 debian/gridsitefoot.txt \
	   $(INSTALLDIR)$(_sysconfdir)/gridsite/gridsitefoot.txt
	install -m 0644 debian/root-level.gacl \
	   $(INSTALLDIR)$(_sysconfdir)/gridsite/.gacl

	mkdir -p $(INSTALLDIR)$(_sysconfdir)/grid-security/dn-lists
	mkdir -p $(INSTALLDIR)$(_sysconfdir)/grid-security/vomsdir
	mkdir -p $(INSTALLDIR)$(_localstatedir)/cache/mod_gridsite

	mkdir -p $(INSTALLDIR)$(_datadir)/apache2/icons
	uudecode -o $(INSTALLDIR)$(_datadir)/apache2/icons/gridsitelogo.png \
	   debian/gridsitelogo.png.uu

	chown www-data.www-data \
	  $(INSTALLDIR)$(_localstatedir)/lib/gridsite \
	  $(INSTALLDIR)$(_sysconfdir)/gridsite/.gacl \
	  $(INSTALLDIR)$(_sysconfdir)/gridsite/gridsitehead.txt \
	  $(INSTALLDIR)$(_sysconfdir)/gridsite/gridsitefoot.txt \
	  $(INSTALLDIR)$(_sysconfdir)/grid-security/dn-lists \
	  $(INSTALLDIR)$(_localstatedir)/cache/mod_gridsite

binary-indep: install
	dh_testdir
	dh_testroot
	dh_installdocs -i
	dh_installchangelogs -i
	dh_install -i --fail-missing
	dh_link -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installdocs -a
	dh_installchangelogs -a
	dh_install -a --fail-missing
	dh_apache2 -a
	dh_installman -a
	dh_lintian -a
	dh_link -a
	dh_strip -a --dbg-package=gridsite-dbg
	dh_compress -a
	dh_fixperms -a -X var/lib/gridsite \
		       -X var/cache/mod_gridsite -X etc/grid-security/dn-lists
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a -l debian/libgridsite2/usr/lib
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary: binary-indep binary-arch

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