#!/usr/bin/make -f
#export DH_VERBOSE=1

include /usr/share/dpkg/default.mk

Q3ARCH             := $(shell /usr/share/ioquake3/q3arch arch     HOST)
Q3PLATFORM         := $(shell /usr/share/ioquake3/q3arch platform HOST)
Q3COMPILE_ARCH     := $(shell /usr/share/ioquake3/q3arch arch     BUILD)
Q3COMPILE_PLATFORM := $(shell /usr/share/ioquake3/q3arch platform BUILD)
distro             := $(shell lsb_release -is)

# the Q3 engine's build system doesn't respect CPPFLAGS, so put them in CFLAGS
CFLAGS += $(CPPFLAGS) -fsigned-char

GAME_OPTIONS = \
	V=1 \
	BUILD_STANDALONE=1 \
	USE_CODEC_VORBIS=1 \
	USE_CURL=1 \
	USE_CURL_DLOPEN=0 \
	USE_OPENAL=1 \
	USE_OPENAL_DLOPEN=0 \
	USE_VOIP=1 \
	USE_INTERNAL_SPEEX=0 \
	USE_INTERNAL_ZLIB=0 \
	USE_LOCAL_HEADERS=0 \
	ARCH=$(Q3ARCH) \
	PLATFORM=$(Q3PLATFORM) \
	COMPILE_ARCH=$(Q3COMPILE_ARCH) \
	COMPILE_PLATFORM=$(Q3COMPILE_PLATFORM) \
	SDL_CFLAGS= \
	BUILD_CLIENT=0 \
	BUILD_SERVER=0 \
	BUILD_GAME_SO=1 \
	CROSS_COMPILING=1 \
	VERSION=$(DEB_VERSION)/$(distro) \
	$(NULL)

TARGET = release

ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
# near enough
TARGET = debug
# use the release build directory even for a debug build, it makes building
# the package easier
GAME_OPTIONS += 'BD=$$(BR)'
endif

GAME_081_OPTIONS = \
	$(GAME_OPTIONS) \
	BUILD_DIR=build-0.8.1-compat \
	OPENARENA_081_COMPATIBLE=1

%:
	dh $@ --parallel

override_dh_auto_build:
	dh_auto_build -- $(GAME_OPTIONS) $(TARGET)
	dh_auto_build -- $(GAME_081_OPTIONS) $(TARGET)
	sed \
		-e 's!@IOQ3BINARY@!ioquake3!' \
		-e 's!@IOQ3SELF@!openarena!' \
		-e 's!@IOQ3ROLE@!client!' \
		-e 's!@FS_BASEPATH@!/usr/lib/openarena!' \
		< debian/scripts/openarena.in > debian/scripts/openarena
	sed \
		-e 's!@IOQ3BINARY@!ioq3ded!' \
		-e 's!@IOQ3SELF@!openarena-server!' \
		-e 's!@IOQ3ROLE@!server!' \
		-e 's!@FS_BASEPATH@!/usr/lib/openarena-server!' \
		< debian/scripts/openarena.in > debian/scripts/openarena-server
	chmod +x debian/scripts/openarena
	chmod +x debian/scripts/openarena-server

override_dh_clean:
	dh_clean --exclude README-0.8.8~

override_dh_auto_clean:
	rm -f build-stamp
	rm -rf build
	rm -rf build-0.8.1-compat
	rm -f debian/openarena32.xpm
	rm -f debian/scripts/openarena
	rm -f debian/scripts/openarena-server

override_dh_auto_install:
	install -d debian/tmp/usr/games
	install -d debian/tmp/usr/lib/openarena/baseoa/pak0/
	install -d debian/tmp/usr/lib/openarena/missionpack/
	install -d debian/tmp/usr/lib/openarena-server/baseoa/pak0/
	install -d debian/tmp/usr/lib/openarena-server/missionpack/
	install -m644 build/release-$(Q3PLATFORM)-$(Q3ARCH)/baseq3/*.so \
		debian/tmp/usr/lib/openarena/baseoa/
	install -m644 build-0.8.1-compat/release-$(Q3PLATFORM)-$(Q3ARCH)/baseq3/*.so \
		debian/tmp/usr/lib/openarena/baseoa/pak0/
	install -m644 build/release-$(Q3PLATFORM)-$(Q3ARCH)/missionpack/*.so\
		debian/tmp/usr/lib/openarena/missionpack/
	install -m644 build/release-$(Q3PLATFORM)-$(Q3ARCH)/baseq3/*.so \
		debian/tmp/usr/lib/openarena-server/baseoa/
	install -m644 build-0.8.1-compat/release-$(Q3PLATFORM)-$(Q3ARCH)/baseq3/*.so \
		debian/tmp/usr/lib/openarena-server/baseoa/pak0/
	install -m644 build/release-$(Q3PLATFORM)-$(Q3ARCH)/missionpack/*.so\
		debian/tmp/usr/lib/openarena-server/missionpack/
	convert -scale 32x32 debian/openarena128.png debian/openarena32.xpm
	sh debian/link-modules.sh $(Q3ARCH)

override_dh_strip:
	dh_strip --dbg-package=openarena-dbg

.PHONY: get-orig-source
get-orig-source:
	test ! -e get-orig-source
	mkdir get-orig-source
	if test -e ../oa-0.8.8.tar.bz2; then \
		cp ../oa-0.8.8.tar.bz2 get-orig-source/; \
	else \
		wget -O get-orig-source/oa-0.8.8.tar.bz2 \
		http://files.poulsander.com/~poul19/public_files/oa/dev088/oa-0.8.8.tar.bz2; \
	fi
	test "`sha256sum -b get-orig-source/oa-0.8.8.tar.bz2`" = \
	"47fed4ea740278aa970538fc15819a4f6b8631eda380431ba09eb1b31ecbe5ad *get-orig-source/oa-0.8.8.tar.bz2"
	tar -xvj -C get-orig-source -f get-orig-source/oa-0.8.8.tar.bz2
	rm -rf get-orig-source/oa-0.8.8/tools/lcc
	rm -rf get-orig-source/oa-0.8.8/windows_scripts/*.exe
	mv get-orig-source/oa-0.8.8 get-orig-source/openarena_0.8.8.orig
	tar -zcvf openarena_0.8.8.orig.tar.gz \
		-C get-orig-source openarena_0.8.8.orig
	rm -rf get-orig-source
