#!/usr/bin/make -f

cflags = $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)
cxxflags = $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)
ldflags = $(shell dpkg-buildflags --get LDFLAGS)

cmake_options = \
	-DCMAKE_INSTALL_PREFIX=/usr \
	-DCMAKE_VERBOSE_MAKEFILE=ON \
	-DCMAKE_C_FLAGS_DEBUG="$(cflags)" \
	-DCMAKE_CXX_FLAGS_DEBUG="$(cxxflags)" \
	-DCMAKE_EXE_LINKER_FLAGS_DEBUG="$(ldflags)" \

parallel = -j$(or $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))),1)

.PHONY: clean
clean: debian/control
	dh_clean
	rm -rf obj/
	rm -f cmake.h

# Add here any variable or target overrides you need.

.PHONY: build build-arch build-indep
build build-arch: obj/stamp

obj/stamp: debian/control
	mkdir -p $(dir $@)
	find src -name '*.a' -delete # pre-built cruft; see http://taskwarrior.org/issues/1178
	cd obj && cmake .. $(cmake_options)
	$(MAKE) -C obj/ $(parallel)
ifeq "$(filter nocheck,$(DEB_BUILD_OPTIONS))" ""
	$(MAKE) -C obj/test/ $(parallel)
	mkdir -p obj/home/ obj/mock/
	ln -sf /bin/false obj/mock/scp
	HOME="$(CURDIR)/obj/home/" PATH="$(CURDIR)/obj/mock/:$$PATH" $(MAKE) -C obj/test/ test
endif
	touch $(@)

.PHONY: binary binary-arch binary-indep

binary: binary-arch
binary-arch: obj/stamp
	dh_testroot
	dh_prep
	$(MAKE) -C obj/ install DESTDIR=../debian/task/
	mkdir -p debian/task/usr/share/task/
	set -e; cd debian/task/usr/share/doc/task; \
		mv i18n ../../task; \
		rm rc/refresh; mv rc/* ../../task; rmdir rc; \
		rm -rf scripts; \
		rm INSTALL COPYING ChangeLog;
	dh_install
	cd debian/task/etc/bash_completion.d && mv task.sh task
	dh_installdocs
	dh_installchangelogs ChangeLog
	dh_installexamples
	dh_installman
	dh_lintian
	dh_compress
	dh_fixperms
	dh_strip
	dh_shlibdeps
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

debdir = $(dir $(firstword $(MAKEFILE_LIST)))
version = $(shell head -n1 $(debdir)/changelog | cut -d ' ' -f2 | tr -d '()' | cut -d - -f 1)

.PHONY: get-orig-source
get-orig-source:
	sh $(debdir)/get-orig-source.sh $(version)

# vim:ts=4 sw=4 noet
