#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
DH_VERBOSE = 1

# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

export PYBUILD_NAME = vpp-api-python
export PYBUILD_DIR = @CMAKE_SOURCE_DIR@/vpp-api/python
export PYBUILD_DESTDIR_python2=debian/vpp-api-python/
export PYBUILD_DISABLE_python2=test
export PYBUILD_SYSTEM=distutils

# main packaging script based on dh7 syntax
%:
	dh $@ --with systemd,python2 --buildsystem=pybuild

override_dh_strip:
	dh_strip --dbg-package=vpp-dbg

DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

override_dh_install:
	@for c in @VPP_COMPONENTS@; do \
	  @CMAKE_COMMAND@ \
	    -D CMAKE_INSTALL_CONFIG_NAME=@CMAKE_BUILD_TYPE@ \
	    -D CMAKE_INSTALL_COMPONENT=$$c \
	    -D CMAKE_INSTALL_PREFIX=@CMAKE_BINARY_DIR@/debian/$$c \
	    -P @CMAKE_BINARY_DIR@/cmake_install.cmake 2>&1 \
	    | grep -v 'Set runtime path of' ; \
	  if [ -d debian/$$c/lib ] ; then \
	    mv debian/$$c/lib debian/$$c/$(DEB_HOST_MULTIARCH) ; \
	    mkdir -p debian/$$c/usr/lib ; \
	    mv debian/$$c/$(DEB_HOST_MULTIARCH) debian/$$c/usr/lib ; \
	  fi ; \
	  for d in bin include share ; do \
	    if [ -d debian/$$c/$$d ] ; then \
	      mkdir -p debian/$$c/usr ; \
	      mv debian/$$c/$$d debian/$$c/usr/$$d ; \
	    fi ; \
	  done ; \
	  if [ -d debian/$$c ] ; then \
	    @CMAKE_SOURCE_DIR@/scripts/remove-rpath debian/$$c ; \
	  fi ; \
	done
