From 3c23f4aa7eeabff0382f7789cfb7ad0c3090615a Mon Sep 17 00:00:00 2001 From: drebs Date: Thu, 3 Oct 2013 14:24:48 -0300 Subject: Initial import. --- Makefile | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7d23b14 --- /dev/null +++ b/Makefile @@ -0,0 +1,62 @@ +EXTNAME := bitmask-thunderbird +PREFIX := . +FILES_TO_PACKAGE := chrome,chrome.manifest,install.rdf +RSA_FILE := META-INF/zigbert.rsa + +# the following variables are updated automatically +COMMIT := $(shell git --no-pager log -1 --format=format:%h) +VERSION := $(shell grep \ $(PREFIX)/install.rdf | sed -e s/[^\>]\\\+\>// -e s/\<[^\>]\\\+\>//) +PKGNAME := $(EXTNAME)-$(VERSION)-$(COMMIT).xpi +TARGET := $(CURDIR)/build/$(PKGNAME) +TEMPDIR := $(shell mktemp -d -u) + +# make sure CERTDIR and CERTNAME are defined for signing +USAGE := "Usage: make CERTDIR= CERTNAME= DEFAULTKEY=" +ifeq ($(MAKECMDGOALS),signed) +ifndef CERTDIR + $(error $(USAGE)) +endif +ifndef CERTNAME + $(error $(USAGE)) +endif +ifndef DEFAULTKEY + $(error $(USAGE)) +endif +endif + +# make sure DEFAULTKEY was given to sign the calculated hashes +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(MAKECMDGOALS),upload) +ifndef DEFAULTKEY + $(error "Usage: make DEFAULTKEY=") +endif +endif +endif + +# main rule +all: clean $(TARGET) + +# main target: .xpi file + +$(TARGET): clean + mkdir -p $(TEMPDIR) + cp -r $(PREFIX)/{$(FILES_TO_PACKAGE)} $(TEMPDIR)/ + (cd $(TEMPDIR) && zip -r $(TARGET) ./) + rm -rf $(TEMPDIR) + (cd build/ && sha512sum $(PKGNAME) > SHA512SUMS && gpg --default-key $(DEFAULTKEY) --sign SHA512SUMS) + +signed: clean + mkdir -p $(TEMPDIR) + cp -r $(PREFIX)/{$(FILES_TO_PACKAGE)} $(TEMPDIR)/ + signtool -d $(CERTDIR) -k $(CERTNAME) $(TEMPDIR)/ + (cd $(TEMPDIR) && zip $(TARGET) ./$(RSA_FILE) && zip -r -D $(TARGET) ./ -x ./$(RSA_FILE)) + rm -rf $(TEMPDIR) + (cd build/ && sha512sum $(PKGNAME) > SHA512SUMS && gpg --default-key $(DEFAULTKEY) --sign SHA512SUMS) + +clean: + rm -f $(TARGET) build/* + +upload: + scp build/* downloads.leap.se:~/public/thunderbird_extension/ + +.PHONY: all clean signed -- cgit v1.2.3