#!/usr/bin/make -f
# debian/rules for WvStreams, using debhelper.
#
# Based on the sample debian/rules under GNU copyright 1997 to 1999 by
# Joey Hess, with revisions by Bill Allombert in 2001.

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

# This has to be exported to make some magic below work.
export DH_OPTIONS

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

base=libwvstreams4.0
# This is used the wvstreams makefile to set the .so links
PKG=`pwd`/debian/${base}
PKG_OGG=`pwd`/debian/${base}-ogg
PKG_QT=`pwd`/debian/${base}-qt
PKG_SPEEX=`pwd`/debian/${base}-speex
PKG_FFT=`pwd`/debian/${base}-fft
PKGDEV=`pwd`/debian/libwvstreams-dev
PKGDOC=`pwd`/debian/${base}-doc
DOCDIR=$(PKGDOC)/usr/share/doc/$(base)-doc

CFLAGS = -Wall

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
endif
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

config.status: configure
	dh_testdir
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS)" ./configure \
		--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr --mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--sysconfdir=/etc --localstatedir=/var \
		--disable-debug --disable-verbose \
		--with-qt --with-vorbis --with-speex --with-openslp \
		--with-fam --with-fftw


#Architecture
build: build-arch build-indep

build-arch: build-arch-stamp
build-arch-stamp: config.status

	# Add here commands to compile the arch part of the package.
	$(MAKE) VERBOSE=1 CXXOPTS="-fPIC -DPIC" COPTS="-fPIC -DPIC"
	$(MAKE) VERBOSE=1 CXXOPTS="-fPIC -DPIC" COPTS="-fPIC -DPIC" uniconf/tests/uni
	touch build-arch-stamp

build-indep: build-stamp-indep
build-stamp-indep: config.status

	# Add here commands to compile the indep part of the package.
	#$(MAKE) doc
	$(MAKE) doxygen
	@# Don't build the SGML documentation, as it is uncompilable.
	@#$(MAKE) -C Docs/sgmlmanual html ps pdf
	touch build-stamp-indep

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp build-stamp-indep #CONFIGURE-STAMP#

	# Add here commands to clean up after the build process.
	-$(MAKE) -C Docs/sgmlmanual clean
	-rm -rf Docs/doxy-html
	-$(MAKE) -C xplc distclean
	-$(MAKE) distclean

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

	dh_clean

install: install-indep install-arch
install-indep:
	dh_testdir
	dh_testroot
	dh_clean -k -i
	dh_installdirs -i

	# Add here commands to install the indep part of the package into
	# debian/<package>-doc.
	#INSTALLDOC#
	install -d $(DOCDIR)
	install -d $(DOCDIR)/html-api
	install -m644 Docs/doxy-html/* $(DOCDIR)/html-api/
	@# Don't install the SGML documentation.
	@#install -d $(DOCDIR)/html-manual
	@#install -m644 Docs/sgmlmanual/wvstreams.html/*.html \
		$(DOCDIR)/html-manual/
	@#install -m644 Docs/sgmlmanual/wvstreams.ps \
		Docs/sgmlmanual/wvstreams.pdf \
		$(DOCDIR)

	dh_install -i

install-arch:
	dh_testdir
	dh_testroot
	dh_clean -k -s
	dh_installdirs -s

	# Add here commands to install the arch part of the package into
	# debian/tmp.
	#$(MAKE) install prefix=$(CURDIR)/debian/wvstreams/usr

	# Install library package

#	$(MAKE) installshared PREFIX=$(PKG)/usr
	# Temporary Fix to work around a bug in Debhelper
	$(MAKE) install-shared DESTDIR=`pwd`/debian/tmp

	# Install development package
	$(MAKE) install-dev DESTDIR=$(PKGDEV)

	# Install a minimal XPLC
	$(MAKE) install-xplc DESTDIR=$(PKGDEV)
	rm -f $(PKGDEV)/usr/lib/libxplc.so*

	# Install UniConf daemon
	$(MAKE) install-uniconfd DESTDIR=`pwd`/debian/tmp
	install -d `pwd`/debian/tmp/etc/default
	install -m644 debian/uniconfd.default debian/tmp/etc/default/uniconfd

	dh_install -s

# Must not depend on anything. This is to be called by
# binary-arch/binary-indep
# in another 'make' thread.
binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_installexamples
#       dh_installmenu
#       dh_installdebconf
#       dh_installlogrotate
#       dh_installemacsen
#       dh_installpam
#       dh_installmime
	dh_installinit
#       dh_installcron
#       dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#       dh_perl
#       dh_python
	dh_makeshlibs -plibwvstreams4.0-base \
		      -plibwvstreams4.0-extras \
		      -plibwvstreams4.0-qt \
		      -plibwvstreams4.0-fft \
		      -plibwvstreams4.0-speex \
		      -plibwvstreams4.0-vorbis \
		      -plibuniconf4.0 \
	dh_installdeb
	dh_installdeb
	dh_shlibdeps -L libwvstreams4.0-base \
		     -L libwvstreams4.0-extras \
		     -L libuniconf4.0 \
		     -l debian/libwvstreams4.0-base/usr/lib:debian/libwvstreams4.0-extras/usr/lib:debian/libuniconf4.0/usr/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common

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