#!/usr/bin/make -f
# Made with the aid of debmake, by Christoph Lameter,
# based on the sample debian/rules file for GNU hello by Ian Jackson.

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

# This has to be exported to make some magic below work.
export DH_OPTIONS

# Enable hardening build flags
export DEB_BUILD_MAINT_OPTIONS=hardening=+all

include /usr/share/dpkg/pkg-info.mk

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

CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS   := $(shell dpkg-buildflags --get CFLAGS)
LDFLAGS  := $(shell dpkg-buildflags --get LDFLAGS)

CFLAGS += $(CPPFLAGS)
CFLAGS += $(LDFLAGS)

MANPAGES := $(wildcard debian/man/*.*.xml)

MS_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's/\+.*//')
BUILD_DATE := $(shell LC_ALL=C date -u "+%d %B %Y" -d "@$(SOURCE_DATE_EPOCH)")

%:
	dh $@ --with python3,pkgkde_symbolshelper \
	      --buildsystem cmake

override_dh_auto_clean:
	dh_clean

	-$(RM) -f $(CURDIR)/debian/man/*.1
	-$(RM) -rf obj-*/
	-$(RM) -rf build-ruby*/ debian/tmp-ruby*/

override_dh_auto_configure:
	dh_auto_configure -- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
	                     -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)" \
	                     -DCMAKE_MODULE_LINKER_FLAGS="$(LDFLAGS)" \
	                     -DCMAKE_SHARED_LINKER_FLAGS="$(LDFLAGS)" \
	                     -DCMAKE_INSTALL_PREFIX=/usr \
	                     -DCMAKE_VERBOSE_MAKEFILE=1 \
	                     -DINSTALL_LIB_DIR="/usr/lib/$(DEB_HOST_MULTIARCH)" \
	                     -DWITH_KML=1 \
	                     -DWITH_SOS=1 \
	                     -DWITH_WMS=1 \
	                     -DWITH_FRIBIDI=1 \
	                     -DWITH_HARFBUZZ=1 \
	                     -DWITH_ICONV=1 \
	                     -DWITH_CAIRO=1 \
	                     -DWITH_SVGCAIRO=0 \
	                     -DWITH_RSVG=1 \
	                     -DWITH_MYSQL=0 \
	                     -DWITH_FCGI=1 \
	                     -DWITH_GEOS=1 \
	                     -DWITH_POSTGIS=1 \
	                     -DWITH_CURL=1 \
	                     -DWITH_CLIENT_WMS=1 \
	                     -DWITH_CLIENT_WFS=1 \
	                     -DWITH_WFS=1 \
	                     -DWITH_WCS=1 \
	                     -DWITH_LIBXML2=1 \
	                     -DWITH_THREAD_SAFETY=1 \
	                     -DWITH_GIF=1 \
	                     -DWITH_ORACLESPATIAL=0 \
	                     -DWITH_ORACLE_PLUGIN=0 \
	                     -DWITH_MSSQL2008=0 \
	                     -DWITH_EXEMPI=0 \
	                     -DWITH_XMLMAPFILE=0 \
	                     -DWITH_V8=0 \
	                     -DWITH_PIXMAN=0 \
	                     -DWITH_PYTHON=1 \
	                     -DWITH_PHP=0 \
	                     -DWITH_PHPNG=0 \
	                     -DWITH_PERL=1 \
	                     -DWITH_RUBY=0 \
	                     -DWITH_JAVA=1 \
	                     -DWITH_CSHARP=0

override_dh_auto_build:
	# Create man pages from DocBook XML
	for x in $(MANPAGES) ; do \
	  docbook2x-man --string-param header-3="$(BUILD_DATE)" $$x ; \
	  mv `basename $$x | sed 's/.xml$$//'` `dirname $$x` ; \
	done

	dh_auto_build

override_dh_auto_test:
	# msautotest submodule is not used

override_dh_auto_install:
	dh_auto_install

	# removing embedded rpath in binaries
	-find $(CURDIR)/debian/tmp/usr/bin -type f -exec chrpath --delete {} \;

	# removing embedded rpath in libraries
	-find $(CURDIR)/debian/tmp/usr/lib -name "*.so*" -type f -exec chrpath --delete {} \;

override_dh_installchangelogs:
	dh_installchangelogs HISTORY.TXT

override_dh_compress:
	dh_compress -X.xml -X.xsd -X.xsl

override_dh_makeshlibs:
	dh_makeshlibs -- -c0 -v$(MS_VERSION)

override_dh_python3:
	dh_python3 -ppython3-mapscript

override_dh_perl:
	dh_perl -plibmapscript-perl

override_dh_java:
	dh_java -plibmapscript-java

override_dh_strip:
	dh_strip --dbgsym-migration='libmapserver-dbg (<< 7.2.0~)'
