#!/usr/bin/make -f
# Based on mozilla-firefox-locale-it with changes to make it somewhat generic.
# This file is in public domain, Recai Oktaş <roktas@omu.edu.tr>.

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

MOZLANG     := tr
MOZREGION   := TR

PACKAGE     := mozilla-firefox-locale-$(MOZLANG)
UID_PATTERN := '^{[a-z0-9]\{8\}-[a-z0-9]\{4\}-[a-z0-9]\{4\}-[a-z0-9]\{4\}-[a-z0-9]\{12\}}$$'

PWD         := $(shell pwd)
DEBIAN_ROOT := $(PWD)/debian/tmp

build: build-stamp
build-stamp:
	dh_testdir

	cd $(CURDIR)

	mkdir -p build
	unzip *.xpi -d build && \
	grep "<Description about=\"urn:mozilla:install-manifest\"" \
	     -A10 build/install.rdf | \
	grep "em:id=" | sed s/"^.*em:id=\"\(.*\)\""/"\1"/ >uid

	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp uid

	-rm -rf build debian/$(PACKAGE)

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k

	# Simple validation for uid.
	if ! grep -q $(UID_PATTERN) uid; then \
		echo "Bad uid for $(PACKAGE)"; cat uid; \
		exit 1; \
	fi
	
	# FIXME Any method to declare an UID variable without forking a `cat uid`?

	# extension
	dh_installdirs -p$(PACKAGE) usr/lib/mozilla-firefox/extensions/`cat uid`
	dh_install -p$(PACKAGE) build/* usr/lib/mozilla-firefox/extensions/`cat uid`
	
	# uninstall
	dh_installdirs -p$(PACKAGE) usr/lib/mozilla-firefox/extensions/`cat uid`/uninstall
	echo "" > \
	$(DEBIAN_ROOT)/usr/lib/mozilla-firefox/extensions/`cat uid`/uninstall/Uninstall
	
	# extensions.d
	dh_installdirs -p$(PACKAGE) var/lib/mozilla-firefox/extensions.d
	echo "extension,`cat uid`" > \
	$(DEBIAN_ROOT)/var/lib/mozilla-firefox/extensions.d/50_locale-$(MOZLANG)-$(MOZREGION)
	
	# locales.d
	dh_installdirs -p$(PACKAGE) var/lib/mozilla-firefox/locales.d
	echo "$(MOZLANG):$(MOZREGION)" > \
	$(DEBIAN_ROOT)/var/lib/mozilla-firefox/locales.d/50_locale-$(MOZLANG)-$(MOZREGION)
		
# Build architecture-independent files here.
binary-indep: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Build architecture-dependent files here.
binary-arch: build install
# We have nothing to do by default.

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