#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

DEBIAN  := $(shell dpkg-parsechangelog | grep ^Version: | cut -d' ' -f2)
DEBVERS := $(shell echo '$(DEBIAN)' | cut -d- -f1)
VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g')

export DEB_BUILD_HARDENING=1

%:
	dh $@ --with autoreconf --fail-missing

override_dh_strip:
	dh_strip --dbg-package=libosmocore-dbg

override_dh_install:
	sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'`
	dh_install

# Print test results in case of a failure
override_dh_auto_test:
	dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false)

override_dh_autoreconf:
	echo $(VERSION) > .tarball-version
	dh_autoreconf
