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

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

include /usr/share/quilt/quilt.make

# 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 = -Wall

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

# Use hardware floating point
ifneq (,$(findstring vfp,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -mfpu=vfp -mfloat-abi=softfp -mcpu=arm1136jf-s -mtune=arm1136jf-s -fomit-frame-pointer -ffast-math
endif

# parallel
ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS)))
 TRANSMISSION_MAKEFLAGS += -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif

configure: patch configure-stamp

configure-stamp:
	dh_testdir

	./configure \
		--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr \
		--mandir=/usr/share/man \
		CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs,--as-needed,-O2"

	touch $@

build: build-stamp

build-stamp: configure
	dh_testdir

	$(MAKE) $(TRANSMISSION_MAKEFLAGS)
	#$(MAKE) -C debian/manpages.d

	touch $@

clean: unpatch
	dh_testdir
	dh_testroot

	-$(MAKE) clean
	-$(MAKE) -C debian/manpages.d clean

	$(RM) build-stamp 
	$(RM) configure-stamp 

# <bugfix>
	$(RM) mk/config.mk
	$(RM) mk/version.mk
	$(RM) cli/.depend
	$(RM) gtk/.depend
	$(RM) libtransmission/.depend
# </bugfix>

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	$(MAKE) DESTDIR=$(CURDIR)/debian/transmission install

#	# clean RPATH from transmission binary (costela - 2007-10-27)
	chrpath -d $(CURDIR)/debian/transmission/usr/bin/transmission
	chrpath -d $(CURDIR)/debian/transmission/usr/bin/transmission-daemon
	chrpath -d $(CURDIR)/debian/transmission/usr/bin/transmission-remote
	chrpath -d $(CURDIR)/debian/transmission/usr/bin/transmissioncli

#	# Install icons and desktop file
#	install -d $(CURDIR)/debian/transmission/usr/share/pixmaps
#	install -m644 debian/transmission-gtk.xpm \
#		$(CURDIR)/debian/transmission/usr/share/pixmaps/transmission.xpm

	# Install dbus service file - qwerty12
	install -d $(CURDIR)/debian/transmission/usr/share/dbus-1/services
	install -m644 debian/transmission.service \
		$(CURDIR)/debian/transmission/usr/share/dbus-1/services/transmission.service

	# Install mime file - qwerty12
	install -d $(CURDIR)/debian/transmission/usr/share/mime/packages/
	install -m644 debian/transmission-mime.xml \
		$(CURDIR)/debian/transmission/usr/share/mime/packages/transmission-mime.xml

UPSTREAM_VERSION=$(shell dpkg-parsechangelog | perl -ne '{ print $$1."\n" if /Version: (.*)-.*/; }')

transmission-$(UPSTREAM_VERSION).tar.bz2:
	[ ! -f transmission-$(UPSTREAM_VERSION).tar.gz ] \
		&& wget http://download.m0k.org/transmission/files/transmission-$(UPSTREAM_VERSION).tar.bz2
transmission-$(UPSTREAM_VERSION): transmission-$(UPSTREAM_VERSION).tar.bz2
	tar -xjf transmission-$(UPSTREAM_VERSION).tar.bz2
transmission_$(UPSTREAM_VERSION).orig.tar.gz: transmission-$(UPSTREAM_VERSION)
	tar -cf - transmission-$(UPSTREAM_VERSION) | gzip -9 > transmission_$(UPSTREAM_VERSION).orig.tar.gz
get-orig-source: transmission_$(UPSTREAM_VERSION).orig.tar.gz
	$(RM) transmission-$(UPSTREAM_VERSION).tar.bz2
	$(RM) -r transmission-$(UPSTREAM_VERSION)

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installmenu
	dh_installman
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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