#!/usr/bin/make -f

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


# mafm 1.7.3-4: Disabling extra hardening and -Wl,-Bsymbolic because of
# Launchpad bug #913523

#export DEB_BUILD_MAINT_OPTIONS := hardening=+pie,+bindnow
export DEB_BUILD_MAINT_OPTIONS := hardening=+bindnow
export DEB_CFLAGS_MAINT_APPEND := -pipe -Wall
export DEB_CXXFLAGS_MAINT_APPEND := -pipe -Wall
#export DEB_LDFLAGS_MAINT_APPEND := -Wl,-z,defs -Wl,-Bsymbolic -Wl,--as-needed
export DEB_LDFLAGS_MAINT_APPEND := -Wl,-z,defs -Wl,--as-needed


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


# Use this variable to define the particular version of OGRE that we're building
OGRE_VERSION=1.7.3

OGRE_CHANGELOG = Docs/ChangeLog.html


%:
	dh $@ --buildsystem=cmake

override_dh_auto_configure:
	dh_auto_configure -- \
		-DOGRE_BUILD_SAMPLES:BOOL=FALSE

override_dh_auto_build:
	dh_auto_build --parallel

override_dh_auto_install:
        # Copy files from template for this particular version
	cp -f debian/libogre-VERSION.install debian/libogre-$(OGRE_VERSION).install
	cp -f debian/libogre-VERSION.manpages debian/libogre-$(OGRE_VERSION).manpages
	cp -f debian/libogre-VERSION.lintian-overrides debian/libogre-$(OGRE_VERSION).lintian-overrides

	dh_auto_install

        # Workaround for CMake and debhelper with mutiarch (Debian bug:
        # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641051 )
	sed -i "/^libdir=/ s|/lib|/lib/$(DEB_BUILD_MULTIARCH)|" debian/tmp/usr/lib/pkgconfig/*
	sed -i "/{libdir}/ s|{libdir}/OGRE|{libdir}/OGRE-$(OGRE_VERSION)|g" debian/tmp/usr/lib/pkgconfig/*

        # More fixes for multi-arch introduced in 1.7.3-5, and attempt at using
        # versioned files for plugins and config files (so several versions can
        # be installed at once)
	mv debian/tmp/usr/lib/OGRE debian/tmp/usr/lib/OGRE-$(OGRE_VERSION)

	mkdir -p /tmp/$(DEB_BUILD_MULTIARCH)
	mv debian/tmp/usr/lib/* /tmp/$(DEB_BUILD_MULTIARCH)/
	mv /tmp/$(DEB_BUILD_MULTIARCH) debian/tmp/usr/lib/

        # multi-arch/rpath issue with lintian:
        # E: libogre-1.7.3: binary-or-shlib-defines-rpath usr/lib/x86_64-linux-gnu/OGRE/Plugin_OctreeZone.so /usr/lib/OGRE
	chrpath --replace "/usr/lib/$(DEB_BUILD_MULTIARCH)/OGRE-$(OGRE_VERSION)" debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/OGRE-$(OGRE_VERSION)/Plugin_OctreeZone.so

override_dh_install:
	dh_install --fail-missing

        # More fixes for multi-arch introduced in 1.7.3-5, and attempt at using
        # versioned files for plugins and config files (so several versions can
        # be installed at once)
	sed -i "/^PluginFolder=/ s|MULTIARCH_TRIPLET/OGRE_VERSION|$(DEB_BUILD_MULTIARCH)/OGRE-$(OGRE_VERSION)|" debian/libogre-$(OGRE_VERSION)/etc/OGRE/plugins.cfg
	mv debian/libogre-$(OGRE_VERSION)/etc/OGRE debian/libogre-$(OGRE_VERSION)/etc/OGRE-$(OGRE_VERSION)

override_dh_installchangelogs:
	dh_installchangelogs $(OGRE_CHANGELOG)

override_dh_strip:
	dh_strip -plibogre-$(OGRE_VERSION) --dbg-package=libogre-$(OGRE_VERSION)-dbg --exclude=ogre-tools
	dh_strip -pogre-tools

override_dh_clean:
	dh_clean

        # Remove files from template
	rm -rf debian/libogre-$(OGRE_VERSION).*
