#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules file for simutrans

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

export CFLAGS   = $(shell dpkg-buildflags --get CFLAGS)
export CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS)
export LDFLAGS  = $(shell dpkg-buildflags --get LDFLAGS)

include /usr/share/hardening-includes/hardening.make
CFLAGS   += $(HARDENING_CFLAGS)
CXXFLAGS += $(HARDENING_CFLAGS)
LDFLAGS  += $(HARDENING_LDFLAGS)

build: build-stamp
build-stamp:
	dh build
	$(MAKE) -C makeobj makeobj

	convert simutrans.ico -alpha on debian/simutrans.xpm

	mkdir skin
	./makeobj/makeobj pak ./skin/ ./skins.src/

	touch $@

# `make clean' will fail if there is no config.default, so make sure
# we have one
clean:
	dh_testdir

	$(MAKE) clean
	$(MAKE) -C makeobj clean
	$(RM) -r skin

	dh_clean

# These languages will be excluded
BROKEN_LANG = ce cn id tr

install: build
	dh install --before dh_installchangelogs
	dh_installchangelogs simutrans/history.txt
	dh install --remaining

	#$(MAKE) DESTDIR=$(CURDIR)/debian/simutrans install
	install -m 644 debian/simutrans.xpm $(CURDIR)/debian/simutrans/usr/share/pixmaps
	install -m 644 debian/simutrans.desktop $(CURDIR)/debian/simutrans/usr/share/applications

	install sim $(CURDIR)/debian/simutrans/usr/games/simutrans

	install -m 644 simutrans/config/simuconf.tab $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/config
	install -m 644 simutrans/font/* $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/font
	install -m 644 simutrans/music/*.tab $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/music
	install -m 644 simutrans/music/*.mid $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/music
	install -m 644 debian/translations/*.tab $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/text
	for lang in $(BROKEN_LANG); do \
	  $(RM) $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/text/$$lang.tab ; \
	done
	for lang in cz de dk en es fr hu it ja nl pl pt ro ru sk ; do \
	  install -m 644 simutrans/text/$$lang/*.txt $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/text/$$lang ; \
	done
	rmdir --ignore-fail-on-non-empty $(CURDIR)/debian/simutrans-data/usr/share/games/simutrans/text/zh

	install -m 755 makeobj/makeobj $(CURDIR)/debian/simutrans-makeobj/usr/games/makeobj

# Build architecture-independent files here.
binary-indep: build install
	dh binary-indep

# Build architecture-dependent files here.
binary-arch: build install
	dh binary-arch

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

# SVN revision and package version to use when building .orig.tar.gz
SVNREV  = 4356
VERSION = 110.0.1
SVNROOT = svn://tron.homeunix.org/simutrans/simutrans/trunk

get-orig-source:
	svn export --username anon --password "" -r $(SVNREV) $(SVNROOT) simutrans-$(VERSION)

	# source is skins.src/*, only removed to make sure we rebuild it.
	$(RM) simutrans-$(VERSION)/simutrans/skin/menu.WindowSkin.pak
	# freeware, cf. http://www.packetizer.com/security/sha1/ [2011-02-15]
	$(RM) simutrans-$(VERSION)/utils/sha1.cc simutrans-$(VERSION)/utils/sha1.h

	tar c simutrans-$(VERSION) | gzip -9 >simutrans_$(VERSION).orig.tar.gz
	$(RM) -r simutrans-$(VERSION)

update-translations:
	dh_testdir
	wget --post-data "version=0&choice=all&submit=Export!" --delete-after "http://simutrans-germany.com/translator/script/main.php?page=wrap"
	wget -N http://simutrans-germany.com/translator/data/tab/language_pack-Base+texts.zip
	unzip -o -d debian/translations language_pack-Base+texts.zip "*.tab"
	$(RM) language_pack-Base+texts.zip
