#!/usr/bin/make -f
# -*- makefile -*-

# 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 DEB_BUILD_MAINT_OPTIONS = hardening=-all

# Is there some conventional variable name for flags for fpc?  As this
# is made up currently, empty anything the environment might have.

FPCFLAGS := -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
else
	FPCFLAGS += -O2
endif

-include /usr/share/dpkg/buildflags.mk
export FPCFLAGS

FPCSRCVERSION=$(shell dpkg -s fpc-source | perl -ne 'if (/^Depends:.*fpc-source-([0-9.]+)/) {print $$1; exit 0;}')

export DEB_BUILD_MAINT_OPTIONS=hardening=+all

%:
	dh $@

override_dh_auto_build: build-arch-console-stamp build-arch-sdl-stamp

build-arch-console-stamp: debian/build/console
	dh_testdir
	cd debian/build/console; fpc $(FPCFLAGS) -XD gharena
	touch build-arch-console-stamp

build-arch-sdl-stamp: debian/build/sdl
	dh_testdir
	sed -i s/gearhead.conf/gearhead-sdl.conf/ debian/build/sdl/gears.pp
	cd debian/build/sdl; fpc $(FPCFLAGS) -dSDLMODE -XD gharena
	touch build-arch-sdl-stamp

debian/build/console debian/build/sdl:
	dh_testdir
	mkdir -p $@
	cp *.pas *.pp *.inc $@
	cp /usr/share/fpcsrc/$(FPCSRCVERSION)/packages/rtl-console/src/unix/crt.pp $@
	cp /usr/share/fpcsrc/$(FPCSRCVERSION)/packages/rtl-console/src/inc/crth.inc $@
	cp xterm-boxdrawing/boxdraw.inc $@
	cd $@; patch -p0 < ../../../xterm-boxdrawing/crt.pp.diff

override_dh_clean:
	rm -f build-arch-console-stamp build-arch-sdl-stamp
	rm -rf debian/build
	dh_clean

override_dh_install-arch:
	dh_install -a
	cp debian/build/console/gharena debian/gearhead/usr/games/gearhead
	cp debian/build/sdl/gharena debian/gearhead-sdl/usr/games/gearhead-sdl

override_dh_installchangelogs:
	dh_installchangelogs history.txt

override_dh_installdocs:
	dh_installdocs -X history.txt
