#!/usr/bin/make -f
XPI_MODULE_VERS = $(shell dpkg-parsechangelog  | grep ^Version: | cut -f2 -d\ )
%:
	dh $@ --with xul-ext

override_dh_auto_build: dist/enigmail.xpi

override_dh_install:
	install-xpi -penigmail dist/enigmail.xpi

override_dh_clean:
	dh_clean
	rm -rf dist


ICEDOVE_SDK = /usr/lib/icedove-devel/sdk
ICEDOVE_IDL_LIB = /usr/lib/icedove-devel/idl

CC=gcc
CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)

CFLAGS += -pedantic -Wall -Werror -fPIC
LDFLAGS += -Wl,-z,noexecstack -shared -Wl,-Bsymbolic

# this is the tag for gcc 3 or 4, apparently.
TARGET_XPCOM_ABI=$(shell uname -m)-gcc3

## below is the actual build process:

dist/enigmail.xpi: ipc/src/libsubprocess.so dist/components/enigmail.xpt dist/chrome/enigmail.jar
	mkdir -p dist/chrome/enigmail dist/components dist/defaults/preferences dist/modules
	cp -a package/chrome.manifest dist/
	cp -a lang/* dist/chrome/enigmail/locale/
	cp package/*.js dist/components/
	cp package/prefs/enigmail.js dist/defaults/preferences/
	cp package/*.jsm ipc/modules/*.js* dist/modules
	./genxpi enigmail.xpi $(XPI_MODULE_VERS) $(shell uname -s) "$(TARGET_XPCOM_ABI)" dummyMozAppName dist $(shell pwd) enigmail .so lib

dist/chrome/enigmail.jar: ui/content/enigmailBuildDate.js
	mkdir -p dist/chrome
	python debian/mozpy/JarMaker.py -j dist/chrome -t $(shell pwd) -f symlink ui/jar.mn

ui/content/enigmailBuildDate.js: 
	echo 'var EnigBuildDate="'`date +%Y%m%d-%H%M`'"' > $@

%.xpt: %.idl
	python $(ICEDOVE_SDK)/bin/typelib.py -I$(ICEDOVE_IDL_LIB) $< -o $@

dist/components/enigmail.xpt: $(patsubst %.idl,%.xpt, $(wildcard public/*.idl) )
	mkdir -p dist/components
	python $(ICEDOVE_SDK)/bin/xpt.py link $@ $^

ipc/src/libsubprocess.so: ipc/src/subprocess.o
	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $<

ipc/src/subprocess.o: ipc/src/subprocess.c
	$(CC) $(CFLAGS) -c -o $@ $<
