#!/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.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

# 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 --sourcedirectory=openbsc --with autoreconf $@

# This is needed for debian stable (squeeze)
override_dh_autoreconf:
	cd openbsc && autoreconf --install --force

override_dh_strip:
	dh_strip -posmocom-bsc --dbg-package=osmocom-bsc-dbg
	dh_strip -posmocom-nitb --dbg-package=osmocom-nitb-dbg
	dh_strip -posmocom-ipaccess-utils --dbg-package=osmocom-ipaccess-utils-dbg
	dh_strip -posmocom-bs11-utils --dbg-package=osmocom-bs11-utils-dbg
	dh_strip -posmocom-sgsn --dbg-package=osmocom-sgsn-dbg
	dh_strip -posmocom-gbproxy --dbg-package=osmocom-gbproxy-dbg
	dh_strip -posmocom-bsc-nat --dbg-package=osmocom-bsc-nat-dbg

override_dh_auto_configure:
	echo $(VERSION) > openbsc/.tarball-version
	dh_auto_configure --sourcedirectory=openbsc -- --enable-nat --enable-osmo-bsc

