Remove status bar messages (#4871).
[bitmask_thunderbird.git] / Makefile
1 EXTNAME  := bitmask-thunderbird
2 PREFIX   := .
3 FILES_TO_PACKAGE := chrome,chrome.manifest,install.rdf
4 RSA_FILE := META-INF/zigbert.rsa
5
6 # the following variables are updated automatically
7 COMMIT   := $(shell git --no-pager log -1 --format=format:%h)
8 VERSION = $(shell head -n1 CHANGELOG | cut -d" " -f1)
9 PKGNAME  := $(EXTNAME)-$(VERSION)-$(COMMIT).xpi
10 TARGET   := $(CURDIR)/build/$(PKGNAME)
11 TEMPDIR  := $(shell mktemp -d -u)
12
13 # make sure CERTDIR and CERTNAME are defined for signing
14 USAGE    := "Usage: make CERTDIR=<certificate directory> CERTNAME=<certificate name> DEFAULTKEY=<key id>"
15 ifeq ($(MAKECMDGOALS),signed)
16 ifndef CERTDIR
17   $(error $(USAGE))
18 endif
19 ifndef CERTNAME
20   $(error $(USAGE))
21 endif
22 ifndef DEFAULTKEY
23   $(error $(USAGE))
24 endif
25 endif
26
27 # make sure DEFAULTKEY was given to sign the calculated hashes
28 ifneq ($(MAKECMDGOALS),clean)
29 ifneq ($(MAKECMDGOALS),upload)
30 ifndef DEFAULTKEY
31   $(error "Usage: make DEFAULTKEY=<key id>")
32 endif
33 endif
34 endif
35
36
37 # main rule
38 all: clean $(TARGET)
39
40
41 #-----------------------------------------------------------------------------
42 # debhelper targets
43 #-----------------------------------------------------------------------------
44
45 XPI_CONTENTS:=$(shell find chrome -name "*.html" -o -name "*.xhtml" -o -name "*.css" -o -name "*.png" -o -name "*.gif" -o -name "*.js" -o -name "*.jsm" -o -name "*.dtd" -o -name "*.xul" -o -name "messages" -o -name "*.properties") chrome.manifest install.rdf COPYING
46
47 bitmask.xpi: $(XPI_CONTENTS)
48         zip $@ $(XPI_CONTENTS)
49
50 xpi_release:
51         ln -s $(XPINAME) $(PKGNAME) 
52
53
54 #-----------------------------------------------------------------------------
55 # unsigned XPI file
56 #-----------------------------------------------------------------------------
57
58 $(TARGET): clean install.rdf
59         mkdir -p $(TEMPDIR)
60         mkdir -p `dirname $@`
61         cp -r $(PREFIX)/{$(FILES_TO_PACKAGE)} $(TEMPDIR)/
62         rm -rf $(TEMPDIR)/.gitignore
63         (cd $(TEMPDIR) && zip -r $(TARGET) ./)
64         rm -rf $(TEMPDIR)
65         (cd build/ && sha512sum $(PKGNAME) > SHA512SUMS && gpg -a --default-key $(DEFAULTKEY) --detach-sign SHA512SUMS)
66
67
68 #-----------------------------------------------------------------------------
69 # signed XPI file
70 #-----------------------------------------------------------------------------
71
72 signed: clean install.rdf
73         mkdir -p $(TEMPDIR)
74         mkdir -p `dirname $@`
75         cp -r $(PREFIX)/{$(FILES_TO_PACKAGE)} $(TEMPDIR)/
76         rm -rf $(TEMPDIR)/.gitignore
77         signtool -d $(CERTDIR) -k $(CERTNAME) $(TEMPDIR)/
78         (cd $(TEMPDIR) && zip $(TARGET) ./$(RSA_FILE) && zip -r -D $(TARGET) ./ -x ./$(RSA_FILE))
79         rm -rf $(TEMPDIR)
80         (cd build/ && sha512sum $(PKGNAME) > SHA512SUMS && gpg -a --default-key $(DEFAULTKEY) --detach-sign SHA512SUMS)
81
82 clean:
83         rm -f $(TARGET) build/*
84         rm -f install.rdf
85
86 upload:
87         ssh downloads.leap.se rm -rf /var/www/leap-downloads/public/thunderbird_extension/*
88         scp build/* downloads.leap.se:/var/www/leap-downloads/public/thunderbird_extension/
89
90 debian-package:
91         git buildpackage -us -uc
92
93 install.rdf: install.rdf.template Changelog
94         sed 's/__VERSION__/$(VERSION)/' < $< > $@
95
96
97 .PHONY: all clean signed