#!/usr/bin/make -f

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

include /usr/share/dpatch/dpatch.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 -g

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

DATE=$(shell date +%Y%m%d)

upstream:
	# Needs: cvs autoconf automake libtool

	# Getting sources
	cd .. && \
	cvs -z3 -d:pserver:anonymous@cvs.xmms.org:/cvs co xmms && \
	mv xmms xmms-1.2.10+$(DATE)

	# Bootstrapping
	cd ../xmms-1.2.10+$(DATE) && \
	./autogen.sh && \
	rm -f config.log config.status && \
	rm -f libxmms/config.log libxmms/config.status

	cd ../xmms-1.2.10+$(DATE) && \
	libtoolize -c -f && \
	aclocal && \
	autoconf

	# Removing unused files
	find ../xmms-1.2.10+$(DATE) -type d -name CVS -exec rm -rf {} \; || exit 0
	find ../xmms-1.2.10+$(DATE) -type f -name .cvsignore -exec rm -f {} \; || exit 0

	# Creating tarball
	tar cfz ../xmms_1.2.10+$(DATE).orig.tar.gz ../xmms-1.2.10+$(DATE)

configure: configure-stamp
configure-stamp: patch-stamp
	dh_testdir

	# Configuring package
	CFLAGS="$(CFLAGS) -fPIC" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --enable-ipv6 --enable-static --without-gnome

	touch configure-stamp

build: build-stamp
build-stamp: configure-stamp
	dh_testdir

	# Building package
	$(MAKE) -C po update-gmo
	$(MAKE)

	touch $@

clean: unpatch
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	# Cleaning package
	-$(MAKE) distclean
	rm -f config.log config.status
	rm -f libxmms/config.log libxmms/config.status
	rm -f po/*.gmo
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: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Installing package
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp

	# Installing skin tarball
	install -d -m 0755 debian/xmms/usr/share/xmms/Skins
	uudecode debian/skin/debfskin.tar.gz.uu -o debian/xmms/usr/share/xmms/Skins/debfskin.tar.gz

	# Installing desktop files
	install -D -m 0644 debian/desktop/xmms.desktop debian/xmms/usr/share/applications/xmms.desktop
	install -D -m 0644 debian/desktop/xmms-pl.desktop debian/xmms/usr/share/applications/xmms-pl.desktop

	# Installing pixmaps
	install -D -m 0644 xmms/xmms_mini.xpm debian/xmms/usr/share/pixmaps/xmms.xpm
	install -D -m 0644 debian/pixmap/wmxmms.xpm debian/xmms/usr/share/pixmaps/wmxmms.xpm

	# Installing lintian overrides
	for LINTIAN in debian/lintian/*; \
	do \
		install -D -m 0644 $$LINTIAN debian/`basename $$LINTIAN`/usr/share/lintian/overrides/`basename $$LINTIAN` || exit 1; \
	done

binary-indep: build install

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs ChangeLog
	dh_installdocs
	dh_install --sourcedir=debian/tmp
	dh_installmenu
	dh_installmime
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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