#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
PKD := $(abspath $(dir $(MAKEFILE_LIST)))
VER := $(shell dpkg-parsechangelog -l$(PKD)/changelog -SVersion | cut -d- -f1)
PKG := ufoai
PKG2 := ufoai-music
PKG3 := ufoai-data
PKG4 := ufoai-maps
UURL := git://git.code.sf.net/p/ufoai/code
COMMIT := 3e28f7cbf9f5e1cfd0fa7fdc852f833e498757c1
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

%:
	dh $@ --with bash-completion

override_dh_auto_configure:
	./configure \
		--prefix=/usr \
		--datadir=/usr/share/games/ufoai \
		--enable-uforadiant \
		--enable-hardlinkedgame \
		--enable-testall \
		--enable-release

override_dh_auto_build:
	$(MAKE) Q=
	$(MAKE) manual
	cd $(CURDIR)/base \
	&& zip -r 0ufos.pk3 ufos \
	&& zip -r 0base.pk3 *.cfg mapcycle*.txt ai/*.lua

override_dh_install:
	dh_install
	$(RM) $(CURDIR)/debian/ufoai-uforadiant-data/usr/share/uforadiant/uforadiant

override_dh_compress:
	dh_compress -X.pdf


.PHONY: get-orig-source
## http://wiki.debian.org/onlyjob/get-orig-source
get-orig-source:
	@echo "# Cloning upstream git repository..."
	[ -d $(PKG)-upstream ] || git clone $(UURL) $(PKG)-upstream
	cd $(PKG)-upstream \
	&& git checkout -b debiansource $(COMMIT) \
	&& echo "# Setting times..." \
	&& for F in $$(git ls-tree -r --name-only HEAD); \
	do touch --no-dereference -d "$$(git log -1 --format="%ai" -- $$F)" "$$F"; done

get-orig-ufoai:
	cd $(PKG)-upstream \
	&& mkdir $(PKG)-$(VER) \
	&& echo "# Cleaning-up..." \
	&& cp -a -r -v --parents \
		contrib/scripts/bashcompletion/ \
		build/ \
		radiant/ \
		src/ \
		unittest/ \
		base/ufos/ \
		base/ai/ \
		base/*.cfg \
		base/*.txt \
		base/*.bat \
		base/media/languages.ttf \
		base/media/COPYING \
		config.h \
		configure \
		COPYING \
		LICENSES \
		Makefile \
		README \
		ufo.cbp $(PKG)-$(VER) \
	&& $(RM) -r -v $(PKG)-$(VER)/src/libs \
	&& cp -a -r -v --parents \
		src/libs/mumble/ \
		src/libs/picomodel/ $(PKG)-$(VER) \
	&& find $(PKG)-$(VER) -type f -name '.git*' -delete \
	&& mv -v $(PKG)-$(VER) ../
	@echo "# Packing..."
	find -L "$(PKG)-$(VER)" -xdev -type f -print | sort \
	| XZ_OPT="-7v" tar -caf "$(PKG)_$(VER).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX

get-orig-ufoai-music:
	cd $(PKG)-upstream \
	&& mkdir $(PKG2)-$(VER) \
	&& echo "# Cleaning-up..." \
	&& cp -a -r -v --parents \
		base/music/ \
		base/sound \
		LICENSES \
		COPYING $(PKG2)-$(VER) \
	&& mv -v $(PKG2)-$(VER) ../
	@echo "# Packing..."
	find -L "$(PKG2)-$(VER)" -xdev -type f -print | sort \
	| XZ_OPT="-7v" tar -caf "$(PKG2)_$(VER).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX

get-orig-ufoai-data:
	cd $(PKG)-upstream \
	&& mkdir $(PKG3)-$(VER) \
	&& echo "# Cleaning-up..." \
	&& cp -a -r -v --parents \
		build/models.mk \
		base/materials/ \
		base/models/ \
		base/pics/ \
		base/shaders/ \
		Makefile \
		COPYING \
		LICENSES $(PKG3)-$(VER) \
	&& mv -v $(PKG3)-$(VER) ../
	@echo "# Packing..."
	find -L "$(PKG3)-$(VER)" -xdev -type f -print | sort \
	| XZ_OPT="-7v" tar -caf "$(PKG3)_$(VER).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX

get-orig-ufoai-maps:
	cd $(PKG)-upstream \
	&& mkdir $(PKG4)-$(VER) \
	&& echo "# Cleaning-up..." \
	&& cp -a -r -v --parents \
		build/maps.mk \
		base/maps/ \
		base/textures/ \
		Makefile \
		COPYING \
		LICENSES $(PKG4)-$(VER) \
	&& find $(PKG4)-$(VER) -type f -name '*.bsp' -delete \
	&& mv -v $(PKG4)-$(VER) ../
	@echo "# Packing..."
	find -L "$(PKG4)-$(VER)" -xdev -type f -print | sort \
	| XZ_OPT="-7v" tar -caf "$(PKG4)_$(VER).orig.tar.xz" -T- --owner=root --group=root --mode=a+rX

