version = 1.4.14.7
#is_release_version = 1
package = translation-panel
prefix = translation
stable_version :=$(version)

firefox_min=1.5
firefox_max=3.0a5
thunderbird_min=1.5
thunderbird_max=2.0.0.*

stable_firefox_min=1.5
stable_firefox_max=3.0a5
stable_thunderbird_min=1.5
stable_thunderbird_max=2.0.0.*

.PHONY : deb xpi install uninstall test pot all

ifndef is_release_version
  version :=$(version).$(shell bzr revno)
endif

target = $(prefix)_$(version)

idl = /usr/lib/firefox/xpidl
zip = zip
idls = /usr/share/idl/firefox
DESTDIR:=/

#if as ~/.mozilla/firefox/{profile_name}/extensions/translation@nazo/
test: all
	rm -f ../../compreg.dat ../../xpti.dat

all: chrome/translation/skin/classic/translation/icons $(patsubst %.in,%,$(wildcard *.in debian/*.in)) $(patsubst %.idl,%.xpt,$(wildcard components/*.idl)) $(foreach file, $(patsubst %.svg, %_, $(wildcard icons/*.svg)), $(addsuffix .png,$(addprefix $(file), 16 24 32 40 48)))

chrome/translation/skin/classic/translation/icons:
	ln -s `pwd`/icons chrome/translation/skin/classic/translation/

xpi: $(target).xpi

pot: po/translation-panel.pot

po/translation-panel.pot: dtdpo.d $(addprefix chrome/translation/locale/en-US/translation/,help.dtd translation.dtd translation.properties)
	gdmd -run dtdpo.d genpot $package $version $@

deb:
	@rm -f *~ */*~ */*/*~ */*/*/*~ */*/*/*/*~ */*/*/*/*/*~ */*/*/*/*/*/*~ */*/*/*/*/*/*/*~
	rm -fR *.xpi
	debuild

clean:
	rm -f icons/*.png chrome/translation/skin/classic/translation/icons components/*.xpt translation.xhtml install.rdf application.ini debian/changelog debian/control debian/files

$(target).xpi: all
	@rm -f *~ */*~ */*/*~ */*/*/*~ */*/*/*/*~ */*/*/*/*/*~ */*/*/*/*/*/*~ */*/*/*/*/*/*/*~
	rm -fR *.xpi debian/tmp *-stamp
	$(zip) $@ -r -9 *

%.xpt: %.idl
	$(idl) -I $(idls) -m typelib $<
	mv $(patsubst components/%.idl,%.xpt,$<) components/

rev_$(shell bzr revno):
	rm -f rev_*
	echo > rev_$(shell bzr revno)

%:%.in Makefile rev_$(shell bzr revno)
	sed -e 's/$$PACKAGE/$(package)/g' -e "s/\\\$$DATE/`date -R`/g" -e 's/$$VERSION/$(version)/g' -e 's/$$STABLE_VERSION/$(stable_version)/g' -e 's/$$ADD_OLD_VERSION//g' -e 's/$$FIREFOX_MIN/$(firefox_min)/g' -e 's/$$FIREFOX_MAX/$(firefox_max)/g' -e 's/$$THUNDERBIRD_MIN/$(thunderbird_min)/g' -e 's/$$THUNDERBIRD_MAX/$(thunderbird_max)/g' -e 's/$$STABLE_FIREFOX_MIN/$(stable_firefox_min)/g' -e 's/$$STABLE_FIREFOX_MAX/$(stable_firefox_max)/g' -e 's/$$STABLE_THUNDERBIRD_MIN/$(stable_thunderbird_min)/g' -e 's/$$STABLE_THUNDERBIRD_MAX/$(stable_thunderbird_max)/g' $< > $@

$(addsuffix .png,$(addprefix %_, 16 24 32 40 48)): %.svg
	inkscape -z -f $< -e $@ -w $(patsubst $(patsubst %.svg,%, $<)_%.png,%, $@) -h $(patsubst $(patsubst %.svg,%, $<)_%.png,%, $@)


OLD_VERSION=`grep VERSION= translation.xhtml.in | sed -e 's/  - VERSION=//'`
translation.xhtml.in: Makefile
	[ "$(OLD_VERSION)" = "$(stable_version)" ] || sed -i~ -e "s/VERSION=$(OLD_VERSION)/VERSION=$(stable_version)/g" -e "s/\\\$$ADD_OLD_VERSION/\\\$$ADD_OLD_VERSION\n<li id=\"v$(OLD_VERSION)\"><a href=\"translation\/package\/translation_v$(OLD_VERSION).xpi\">v$(OLD_VERSION)<\/a><\/li>/g" $@

install:
	mkdir $(DESTDIR)/usr/lib/translation-panel
	mkdir $(DESTDIR)/usr/share/translation-panel
	cp -R install.rdf application.ini chrome.manifest components chrome defaults $(DESTDIR)/usr/lib/translation-panel
	cp -R icons $(DESTDIR)/usr/share/translation-panel/
	rm $(DESTDIR)/usr/lib/translation-panel/chrome/translation/skin/classic/translation/icons
	ln -s $(DESTDIR)/usr/share/translation-panel/icons $(DESTDIR)/usr/lib/translation-panel/chrome/translation/skin/classic/translation/
	ln -s $(DESTDIR)/usr/lib/translation-panel $(DESTDIR)/usr/lib/firefox/extensions/translation@nazo
	ln -s $(DESTDIR)/usr/lib/translation-panel $(DESTDIR)/usr/lib/mozilla-thunderbird/extensions/translation@nazo
	cp translation-panel $(DESTDIR)/usr/bin
	cp translation-panel.desktop $(DESTDIR)/usr/share/applications/
	cp icons/translation_panel_40.png $(DESTDIR)/usr/share/pixmaps/translation-panel.png

uninstall:
	rm -fR $(DESTDIR)/usr/lib/translation-panel
	rm -fR $(DESTDIR)/usr/share/translation-panel
	rm -f $(DESTDIR)/usr/lib/firefox/extensions/translation@nazo
	rm -f $(DESTDIR)/usr/lib/mozilla-thunderbird/extensions/translation@nazo
	rm -f $(DESTDIR)/usr/bin/translation-panel
	rm -f $(DESTDIR)/usr/share/applications/translation-panel.desktop
	rm -f $(DESTDIR)/usr/share/pixmaps/translation-panel.png
