#!/usr/bin/make -f

# 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

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

# Avoid useless dependencies
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

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

%:
	dh $@ --parallel --with autotools_dev,autoreconf

override_dh_autoreconf:
	dh_autoreconf --exclude=bootstrap/mkinstalldirs

override_dh_auto_configure:
	dh_auto_configure -- \
		--cache-file=$(CURDIR)/config.cache \
		--sysconfdir=/etc \
		--prefix=/usr \
		--datadir=\$${prefix}/share/games \
		--bindir=\$${prefix}/games \
		--enable-debug=no \
		--enable-client=all \
		--with-ggz-server=no \
		--with-ggz-client=no \
		--enable-ipv6=yes \
		--enable-sys-lua \
		--disable-silent-rules

override_dh_auto_build-indep:
	convert -monitor data/icons/32x32/freeciv-client.png freeciv.xpm
	convert -monitor data/icons/32x32/freeciv-server.png freeciv-server.xpm

override_dh_install:
	# Create .desktop files
	cp debian/tmp/usr/share/applications/freeciv.desktop \
           debian/tmp/usr/share/applications/freeciv-gtk.desktop
	sed 's/Exec=freeciv-gtk2/Exec=freeciv-sdl/' \
	   debian/tmp/usr/share/applications/freeciv.desktop \
           >debian/tmp/usr/share/applications/freeciv-sdl.desktop
	sed 's/Exec=freeciv-gtk2/Exec=freeciv-xaw/' \
	   debian/tmp/usr/share/applications/freeciv.desktop \
           >debian/tmp/usr/share/applications/freeciv-xaw3d.desktop
	rm debian/tmp/usr/share/applications/freeciv.desktop
	# Move stuff that gets lost thanks to ${datadir}
	mv debian/tmp/usr/share/games/icons debian/tmp/usr/share
	# Delete stuff that is broken or unneeded.
	# Broken man pages.
	rm -f debian/tmp/usr/share/man/man6/freeciv-gtk2.6
	rm -f debian/tmp/usr/share/man/man6/freeciv-gtk3.6
	rm -f debian/tmp/usr/share/man/man6/freeciv-win32.6
	rm -f debian/tmp/usr/share/man/man6/freeciv-xaw.6
	rm -f debian/tmp/usr/share/man/man6/freeciv-sdl.6
	rm -f debian/tmp/usr/share/man/man6/freeciv-ftwl.6
	rm -f debian/tmp/usr/share/man/man6/freeciv-qt.6
	# Copy our man page into the source tree.
	cp debian/freeciv-manual.6 debian/tmp/usr/share/man/man6/freeciv-manual.6
	# Debian doesn't want .la files.
	rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la
	# Should these have been installed here at all?
	rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.a
	# Remove docs in debian/tmp/usr/share/doc/freeciv/
	rm -f debian/tmp/usr/share/doc/freeciv/*
	# Continue install
	dh_install --fail-missing
	# Remove sounds from -data
	rm -rf debian/freeciv-data/usr/share/games/freeciv/stdsounds*
	# Remove ttf fonts from -data, now provided by dependencies.
	rm -rf debian/freeciv-data/usr/share/games/freeciv/themes/gui-sdl/human/*.ttf
	rm -rf debian/freeciv-data/usr/share/games/freeciv/themes/gui-sdl/human/COPYING.*

override_dh_installdocs:
	# Don't install Makefiles, INSTALL files and man pages with dh_installdocs.
	dh_installdocs --exclude="Makefile" --exclude="INSTALL" --exclude="man"

override_dh_link:
	# Remove doc dirs for arch-dependent packages and symlink
	# to freeciv-data's in dh_link
	-rm -rf debian/freeciv-server/usr/share/doc/freeciv-server
	-rm -rf debian/freeciv-client-gtk/usr/share/doc/freeciv-client-gtk
	-rm -rf debian/freeciv-client-sdl/usr/share/doc/freeciv-client-sdl
	-rm -rf debian/freeciv-client-xaw3d/usr/share/doc/freeciv-client-xaw3d
	-rm -rf debian/freeciv-client-extras/usr/share/doc/freeciv-client-extras
	# After deleting we can link correctly
	dh_link

override_dh_clean:
	dh_clean
	rm -f freeciv.xpm
	rm -f freeciv-server.xpm
	find . -name '*.o' -exec rm -f {} \;
	find . -name '.libs' -exec rm -rf {} \;
	find . -name '.dists' -exec rm -rf {} \;

