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

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

DEBDIR = ..

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

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

# Use thumb mode if it enabled.
ifneq (,$(findstring thumb,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -mthumb
	CXXFLAGS += -mthumb
endif


ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif
ifneq (,$(findstring maemo-launcher,$(DEB_BUILD_OPTIONS)))
	LAUNCHER = yes
	LAUNCHER_DEPENDS = -Vlauncher:Depends="maemo-launcher"
	LAUNCHER_CFLAGS = $(shell pkg-config --cflags maemo-launcher-app)
	LAUNCHER_LDFLAGS = $(shell pkg-config --libs maemo-launcher-app) -export-dynamic
endif

config.status: configure
	dh_testdir
	# Add here commands to configure the package.
	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) \
		   --build=$(DEB_BUILD_GNU_TYPE) \
		   --prefix=/usr --mandir=\$${prefix}/share/man \
		   --infodir=\$${prefix}/share/info

configure: configure-stamp
configure-stamp:
	dh_testdir
	./autogen.sh
	touch configure-stamp

build: build-stamp

build-stamp:  config.status
	dh_testdir

	# Add here commands to compile the package.
	$(MAKE) \
	  MAEMO_LAUNCHER_CFLAGS="$(LAUNCHER_CFLAGS)" \
	  MAEMO_LAUNCHER_LDFLAGS="$(LAUNCHER_LDFLAGS)"

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp 

	# Add here commands to clean up after the build process.
	-$(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: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

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

ifeq "$(strip $(LAUNCHER))" "yes"
	mv $(CURDIR)/debian/tmp/usr/bin/chessui \
	   $(CURDIR)/debian/tmp/usr/bin/chessui.launch
	ln -s /usr/bin/maemo-invoker \
	   $(CURDIR)/debian/tmp/usr/bin/chessui
	
	ln -s /usr/bin/osso_games_startup.launch \
	   $(CURDIR)/debian/tmp/usr/bin/chess_startup.launch
	ln -s /usr/bin/maemo-invoker \
	   $(CURDIR)/debian/tmp/usr/bin/chess_startup
endif

# 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_install -v --sourcedir=debian/tmp
	dh_installman
	dh_link
	dh_strip --dbg-package=osso-chess-ui
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol -- $(LAUNCHER_DEPENDS)
	dh_md5sums
	dh_builddeb --destdir=$(DEBDIR)

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