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

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-include /usr/share/dpkg/buildflags.mk

INSTALLDIR = $(CURDIR)/debian/tmp

_prefix = /usr
_bindir = $(_prefix)/bin
_libdir = $(_prefix)/lib
_sysconfdir = /etc
_datadir = $(_prefix)/share
_mandir = $(_datadir)/man
_docdir = $(_datadir)/doc

configure: configure-stamp

configure-stamp:
	dh_testdir

	mkdir -p src/autogen
	dh_autoreconf

	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" FFLAGS="$(FFLAGS)" \
	CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS) -Wl,-z,defs" \
	dh_auto_configure -- \
	   --enable-docs \
	   --disable-parser-gen

	touch $@

build: build-arch build-indep

build-arch: build-stamp

build-indep: build-stamp

build-stamp: configure-stamp
	dh_testdir

	$(MAKE)

	touch $@

clean:
	dh_testdir
	dh_testroot

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

	dh_autoreconf_clean

	rm -rf doc/apidoc
	rm -f .test

	rm -f build-stamp configure-stamp

	dh_clean debian/voms-server.voms.init debian/voms-server.voms.default

install: build-stamp
	dh_testdir
	dh_testroot
	dh_prep

	$(MAKE) install DESTDIR=$(INSTALLDIR)

	rm -rf $(INSTALLDIR)$(_mandir)/man3
	rm $(INSTALLDIR)$(_libdir)/*/*.la

	# Remove in order to have a good upgrade path from voms 1.x
	# This file is installed in the documentation directory instead
	rm $(INSTALLDIR)$(_datadir)/voms/vomses.template

	mv $(INSTALLDIR)$(_sysconfdir)/rc.d/init.d/voms \
		debian/voms-server.voms.init
	mv $(INSTALLDIR)$(_sysconfdir)/sysconfig/voms \
		debian/voms-server.voms.default

	# /var/lock/subsys is a redhat-ism - use /var/run/voms instead
	sed -e 's!/lock/subsys!/run/voms!g' -i debian/voms-server.voms.init

	mkdir -p $(INSTALLDIR)/$(_docdir)/voms-dev/VOMS_C_API
	cp -pr doc/apidoc/api/VOMS_C_API/html \
		$(INSTALLDIR)/$(_docdir)/voms-dev/VOMS_C_API
	rm -f $(INSTALLDIR)/$(_docdir)/voms-dev/VOMS_C_API/html/installdox

	mkdir -p $(INSTALLDIR)/$(_docdir)/voms-dev/VOMS_CC_API
	cp -pr doc/apidoc/api/VOMS_CC_API/html \
		$(INSTALLDIR)/$(_docdir)/voms-dev/VOMS_CC_API
	rm -f $(INSTALLDIR)/$(_docdir)/voms-dev/VOMS_CC_API/html/installdox

	# Move binaries and manpages for alternatives
	for b in voms-proxy-init voms-proxy-info voms-proxy-destroy; do \
	    mv $(INSTALLDIR)$(_bindir)/$${b} \
	       $(INSTALLDIR)$(_bindir)/$${b}2 ; \
	    mv $(INSTALLDIR)$(_mandir)/man1/$${b}.1 \
	       $(INSTALLDIR)$(_mandir)/man1/$${b}2.1 ; \
	done

binary: binary-arch binary-indep

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installdocs -a
	dh_installchangelogs -a ChangeLog
	dh_install -a
	dh_missing -a --fail-missing
	dh_installinit -a --name=voms --no-enable
	dh_installman -a
	dh_link -a
	dh_strip -a --dbgsym-migration='voms-dbg (<< 2.1.0~rc0-4~)'
	dh_compress -a
	dh_fixperms -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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

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