#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

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

DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include/tde
DEB_CONFIGURE_MANDIR := /opt/trinity/share/man
DEB_CONFIGURE_PREFIX := /opt/trinity
DEB_CONFIGURE_INFODIR := /opt/trinity/share/info

cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)

DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
                               && echo xz || echo bzip2)

# 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)


CFLAGS = -g -Wall
CXXFLAGS = -g -Wall

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
	CXXFLAGS += -O0
else
	CFLAGS += -O2
	CXXFLAGS += -O2
endif

apply-patches:
	#apply patches first
	QUILT_PATCHES="debian/patches" quilt push -a -v

	#regenerate the acinclude file with the "Debian" libtool
	cp -a /usr/share/aclocal/libtool.m4 admin/libtool.m4.in
	cat admin/acinclude.m4.in admin/libtool.m4.in >acinclude.m4

	#this will update the config.{sub,guess} and ltmain.sh files
	libtoolize -c -f

	# then, autoreconf with some kde magic
	autoreconf -v -i
	perl -w admin/am_edit

update-autoconf:
	cp -a /usr/share/misc/config.sub admin/
	cp -a /usr/share/misc/config.guess admin/

svn-number:
	sed -e "s/svn[^-]*-/svn`svn info | \
		grep "^Revision" | \
		sed -e "s/Revision: //"`-/" debian/changelog > new_changelog
	mv new_changelog debian/changelog

config.status: configure
	dh_testdir

	# this makes the file more recent than configure and avoid make calling
	# autoheader

	! [ -f /usr/share/libtool/ltmain.sh ] || \
	cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh
	! [ -f /usr/share/libtool/config/ltmain.sh ] || \
	cp -f /usr/share/libtool/config/ltmain.sh admin/ltmain.sh
	cp -f /usr/share/aclocal/libtool.m4 admin/libtool.m4.in
	
	make -f admin/Makefile.common cvs
	
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
	kde_htmldir=\$${prefix}/share/doc/tde/HTML \
		./configure \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/opt/trinity \
		--with-extra-libs=/opt/trinity/lib
		--mandir=\$${prefix}/share/man \
		--disable-debug \
		--enable-new-ldflags \
		--enable-final \
		--enable-webcam \
		--disable-rpath


build: build-stamp

build-stamp:  config.status
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE)

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 

	! [ -f /usr/share/libtool/ltmain.sh ] || \
	cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh
	! [ -f /usr/share/libtool/config/ltmain.sh ] || \
	cp -f /usr/share/libtool/config/ltmain.sh admin/ltmain.sh
	cp -f /usr/share/aclocal/libtool.m4 admin/libtool.m4.in
	
	make -f admin/Makefile.common cvs

	# Add here commands to clean up after the build process.
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f libtool config.log

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/tellico.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp

	# Add svg icons to xdg directories
	admin/mkinstalldirs debian/tmp/opt/trinity/share/icons/hicolor/scalable/apps
	install -c -p -m 644 -T icons/tellico.svg debian/tmp/opt/trinity/share/icons/hicolor/scalable/apps/tellico.svg
	admin/mkinstalldirs debian/tmp/opt/trinity/share/icons/hicolor/scalable/mimetypes
	install -c -p -m 644 -T icons/tellico_mime.svg debian/tmp/opt/trinity/share/icons/hicolor/scalable/mimetypes/application-x-tellico.svg

	# Remove  dead symlink from French translation
	rm debian/tmp/opt/trinity/share/doc/tde/HTML/fr/tellico/common


# Build architecture-independent files here.
binary-indep: build install
	dh_testdir
	dh_testroot
	dh_install -i
	dh_installmime -ptellico-data
	mkdir -p debian/tellico-data-trinity/usr/share/mime
	mv debian/tellico-data-trinity/opt/trinity/share/apps/mime debian/tellico-data-trinity/usr/share/
	dh_installchangelogs -i ChangeLog
	dh_icons -i
	dh_installdocs -i
	dh_link -i
	dh_compress -i -Xkde
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i $(DEB_DH_BUILDDEB_ARGS)

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs -a ChangeLog
	dh_installdocs -a
	dh_installexamples
	dh_install -a
	dh_installmenu
	dh_desktop -ptellico
	dh_installman -a debian/tellico.1x
	mv debian/tellico-trinity/usr/share/man debian/tellico-trinity/opt/trinity/share/
	dh_link -a
	dh_strip
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a $(DEB_DH_BUILDDEB_ARGS)

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