#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

include /usr/share/dpatch/dpatch.make

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 (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
    CFLAGS += -g
    CONFIGURE_EXTRA_FLAGS += --enable-debug
endif

DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)
ifeq ($(DEB_HOST_ARCH_OS), linux)
	CONFIGURE_EXTRA_FLAGS += --enable-mio=epoll
endif

config.status: patch configure
	dh_testdir

	libtoolize --force --copy
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
	cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
	cp -f /usr/share/misc/config.guess config.guess
endif

	aclocal
	autoconf

	CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr --sysconfdir=/etc/jabberd2 --bindir=\$${prefix}/sbin \
		--program-prefix=jabberd2- --disable-rpath \
		--enable-sasl=gsasl \
		--enable-ssl \
		--enable-mysql \
		--enable-pgsql \
		--enable-sqlite \
		--enable-db \
		--enable-ldap \
		--enable-pam \
		--enable-pipe \
		--enable-anon \
		--enable-fs \
		$(CONFIGURE_EXTRA_FLAGS)

build: build-stamp

build-stamp:  config.status
	dh_testdir
	
	$(MAKE)
	
	touch $@

clean: clean1 unpatch

clean1:
	dh_testdir
	dh_testroot
	rm -f build-stamp
	
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f config.sub config.guess
	
	dh_clean

install:
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	
	$(MAKE) DESTDIR=$(CURDIR)/debian/jabberd2 install

	# remove jabberd wrapper, we use lsb init scripts
	rm $(CURDIR)/debian/jabberd2/etc/jabberd2/jabberd.cfg
	rm $(CURDIR)/debian/jabberd2/usr/sbin/jabberd2-jabberd
	# install component.d scripts
	install -o root -g root -m 0755 debian/component.d/* $(CURDIR)/debian/jabberd2/etc/jabberd2/component.d
	install -o root -g root -m 0755 -d $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/examples
	mv $(CURDIR)/debian/jabberd2/etc/jabberd2/*.dist $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/examples/
	mv $(CURDIR)/debian/jabberd2/etc/jabberd2/templates/*.dist $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/examples/
	# install tools and stuff
	cp $(CURDIR)/tools/*.sqlite $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/
	cp $(CURDIR)/tools/*.mysql $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/
	cp $(CURDIR)/tools/*.pgsql $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/
	cp $(CURDIR)/tools/*.oracle $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/
	cp $(CURDIR)/tools/*.sql $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/
	cp $(CURDIR)/tools/*.pl $(CURDIR)/debian/jabberd2/usr/share/doc/jabberd2/
	# lintian overrides
	install -D -m 644 $(CURDIR)/debian/lintian-overrides $(CURDIR)/debian/jabberd2/usr/share/lintian/overrides/jabberd2

binary-indep:

binary-arch: install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_installexamples
	dh_install
#	dh_installdebconf	
	dh_installlogrotate
	dh_installinit
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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