#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

# 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;}')

#Architecture 
build: build-arch build-indep

build-arch: build-arch-stamp
build-arch-stamp: build-arch-console-stamp build-arch-sdl-stamp
	touch build-arch-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

build-indep: build-indep-stamp
build-indep-stamp:
	touch build-indep-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-arch-console-stamp build-arch-sdl-stamp build-indep-stamp

	rm -rf debian/build

	dh_clean

install: install-indep install-arch
install-indep:
	dh_prep
	dh_testdir
	dh_testroot
	dh_installdirs -i

	dh_install -i

install-arch:
	dh_prep
	dh_testdir
	dh_testroot
	dh_installdirs -a

	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

# Must not depend on anything. This is to be called by
# binary-arch/binary-indep
# in another 'make' thread.
binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs history.txt
	dh_installdocs -X compiling.txt -X history.txt
	dh_installexamples
	dh_installmenu
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common

binary: binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch
