#!/usr/bin/make -f

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

TMPINSTDIR := $(CURDIR)/debian/tmp
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
    MAKEFLAGS += -j$(NUMJOBS)
endif

# These are used for cross-compiling
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
  export CC=$(DEB_HOST_GNU_TYPE)-gcc
  export CXX=$(DEB_HOST_GNU_TYPE)-g++
  export CMAKE_TOOLCHAIN_FILE=/etc/dpkg-cross/cmake/CMakeCross.txt
else
  export CC=gcc
  export CXX=g++
endif

# CPU type
DEB_HOST_ARCH_CPU   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
ifeq ($(DEB_HOST_ARCH_CPU),i386)
  MARCH_FLAG:="i686"
else
  MARCH_FLAG:=""
endif

override_dh_auto_configure:
	# make builds fail on architectures other than amd64 and i386
	dpkg-architecture -eamd64 || dpkg-architecture -ei386 || exit 1

	dh_auto_configure -- -DBINDIR=games -DLIBDIR=lib/spring -DAI_LIBS_DIR=lib/spring -DAI_DATA_DIR=share/games/spring -DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DMARCH_FLAG=$(MARCH_FLAG) -DAI_FIND_QUIETLY=FALSE -DJAVA_FIND_REQUIRED=TRUE

override_dh_auto_install:
	+dh_auto_install

	# Configure spring to use ~/.spring as user data directory.
	mkdir -p $(TMPINSTDIR)/etc/spring
	echo '$$HOME/.spring' > $(TMPINSTDIR)/etc/spring/datadir

	# remove the tarball included font and
	# provide a symlink to the packaged one instead
	rm -rf $(TMPINSTDIR)/usr/share/games/spring/fonts
	mkdir -p $(TMPINSTDIR)/usr/share/games/spring/fonts
	ln -s /usr/share/fonts/opentype/freefont/FreeSansBold.otf $(TMPINSTDIR)/usr/share/games/spring/fonts

	# Remove empty directories
	find $(TMPINSTDIR) -type d -empty -delete

override_dh_strip:
	+dh_strip --dbg-package=spring-dbg

override_dh_installchangelogs:
	+dh_installchangelogs doc/changelog.txt

%:
	+dh $@

# the following rule gets the original source and creates a dfsg free
# tarball
get-orig-source:
	DFSGVER=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^-]+).*,\1,p'); \
	VER=$(shell dpkg-parsechangelog | sed -rne 's,^Version: ([^+]+).*,\1,p'); \
	TMPDIR=`mktemp --directory`; \
	uscan --force-download --rename --download-version=$$VER --destdir="$$TMPDIR"; \
	cd "$$TMPDIR"; \
	tar xzf spring_$$VER.orig.tar.gz; \
	rm -f spring_$$VER/AI/Interfaces/Java/data/jlib/vecmath.jar \
	      spring_$$VER/AI/Interfaces/Java/data/jlib/jna.jar \
	      spring_$$VER/installer/7za.exe \
	      spring_$$VER/installer/dos2unix.exe \
	      spring_$$VER/installer/nsis_plugins/FindProcDLL.dll \
	      spring_$$VER/installer/nsis_plugins/inetc.dll \
	      spring_$$VER/installer/nsis_plugins/registry.dll; \
	tar czf spring_$$DFSGVER.orig.tar.gz spring_$$VER; \
	cd "$(CURDIR)"; mv "$$TMPDIR/spring_$$DFSGVER.orig.tar.gz" .; \
	rm -rf "$$TMPDIR"

.PHONY: get-orig-source
