#!/usr/bin/make -f

# build, build-* targets
# ======================

test_input = $(wildcard debian/test/*.in)

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

unexport LDFLAGS
LDFLAGS = -Wl,--as-needed -Wl,--version-script=../debian/version-script $(shell dpkg-buildflags --get LDFLAGS)
unexport CXXFLAGS
CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS)

.PHONY: build build-arch build-indep
build-indep:
build build-arch:
	dh_testdir
	$(MAKE) -f debian/rules obj/stamp
ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
	$(MAKE) -f debian/rules $(test_input:.in=.stamp)
endif

obj/Makefile: Makefile.linux32
	mkdir -p obj/
	sed -r -e '/^(OPTFLAGS *=.*)/ { s/ -O2 / /; s/ -s / /; s/(.*)/\1 $(CXXFLAGS)/; s/  / /g } ' < $(<) > $(@)

obj/stamp: obj/Makefile
	$(MAKE) -C obj/ CXX="g++ $(LDFLAGS)"
	rst2man debian/morfeusz.rst obj/morfeusz.1
	touch $(@)

obj/pl_PL.UTF-8:
	localedef -f UTF-8 -i pl_PL $(@)/

$(test_input:.in=.stamp): %.stamp: %.in %.out obj/stamp obj/pl_PL.UTF-8
	env -i \
		LD_LIBRARY_PATH=obj/ \
		LC_CTYPE=pl_PL.UTF-8 \
		LOCPATH=obj/ \
		obj/morfeusz < $(*).in 2>/dev/null | diff -u $(*).out -
	touch $(@)

# binary, binary-* targets
# ========================

export DPKG_GENSYMBOLS_CHECK_LEVEL = 4

.PHONY: binary binary-arch binary-indep
binary-indep:
binary binary-arch: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_install -p libmorfeusz0 'obj/libmorfeusz*.so.*' /usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install -p libmorfeusz-dev obj/libmorfeusz.so /usr/lib/$(DEB_HOST_MULTIARCH)
	dh_install
	dh_installdocs -A README CZYTAJTO
	dh_installman
	dh_installchangelogs
	dh_compress
	dh_fixperms
	dh_strip
	dh_makeshlibs
	dh_shlibdeps
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# clean target
# ============

.PHONY: clean
clean:
	dh_clean
	rm -Rf obj/

# vim:ts=4 sw=4 noet
