#!/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
PACKAGENAME = osso-rss-feed-reader

ifeq (,$(findstring arm,$(DEB_BUILD_GNU_TYPE)))
	CFLAGS += -DFORCE_IAP_CONNECT
endif

ifneq (,$(findstring logdebug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -DOSSOLOG_COMPILE -DOSSOLOG_STDOUT -DDEBUG
else
	CFLAGS += -DG_DEBUG_DISABLE=1
endif

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

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

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS)))
	NJOBS_OPT := $(shell ( \
		expr x"$$DEB_BUILD_OPTIONS" : x'.*parallel=\([0-9][0-9]*\)' \
		|| grep -c ^processor /proc/cpuinfo 2>/dev/null             \
		) | sed -n -e '/[1-9]/s/^/-j/p' )
	MAKEFLAGS += $(NJOBS_OPT)
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)" ./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 configure-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

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

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

# Build architecture-independent files here.
binary-indep-after-arch: binary-arch
binary-indep-after-arch \
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 ChangeLog
	dh_installdocs
	dh_installexamples
	dh_install --sourcedir=debian/tmp -v
	dh_installman
	dh_link
	dh_strip --dbg-package=$(PACKAGENAME)
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol -- $(LAUNCHER_DEPENDS)
	dh_md5sums
	dh_builddeb --destdir=$(DEBDIR)

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