blob: cac0c0197b1fd3aff3c005819747a0b5d8f935e1 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# This file is part of Haketilo
#
# Copyright (C) 2021 jahoti
# Copyright (C) 2021, 2022 Wojtek Kosior
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the CC0 1.0 Universal License as published by
# the Creative Commons Corporation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# CC0 1.0 Universal License for more details.
SHELL = /bin/sh
VPATH = <<VPATH>>
version = <<VERSION>>
PYTEST = <<PYTEST>>
extension_files = background/ common/ content/ html/ licenses/ \
copyright default_settings.json manifest.json
metafiles = build.sh configure Makefile.in process_html_file.sh README.txt \
re-generate_icons.sh shell_utils.sh upload_amo.sh write_makefile.sh
# Configuration goes here
# The default target: placed up here
default: $(default_target)
.PHONY: mozilla install-mozilla chromium install-chromium \
all all-unpacked default unpacked \
install install-html install-dvi install-pdf install-ps uninstall \
install-strip clean distclean mostlyclean maintainer-clean TAGS info \
dvi html pdf ps dist check installcheck installdirs \
test test-environment
# core files
icons/haketilo16.png: icons/haketilo.svg
cd "$(srcdir)" && ./re-generate_icons.sh
# Use haketilo16.png as an "index" for all the icon PNGs
# browser-specific targets
all: mozilla chromium
mozilla: mozilla-build.zip
chromium: chromium-build.zip
unpacked: $(default_target)-unpacked
all-unpacked: mozilla-unpacked chromium-unpacked
%-unpacked: $(extension_files) icons/haketilo16.png
$(srcdir)/build.sh $* $(srcdir) $(UPDATE_URL)
install install-strip: $(default_target)-unpacked
cp -R $(default_target)-unpacked \
"$(DESTDIR)/{6fe13369-88e9-440f-b837-5012fb3bedec}"
uninstall:
rm -r "$(DESTDIR)/{6fe13369-88e9-440f-b837-5012fb3bedec}"
%-build.zip: %-unpacked
cd $< && zip -q -r ../$@ *
test/certs/:
mkdir $@
test/certs/%.key: | test/certs/
openssl genrsa -out $@ 2048
test/certs/rootCA.pem: test/certs/rootCA.key
openssl req -x509 -new -nodes -key $< -days 1024 -out $@ \
-subj "/CN=Haketilo Test"
test: test/certs/rootCA.pem test/certs/site.key $(default_target)-build.zip
MOZ_HEADLESS=whatever $(PYTEST)
test-environment: test/certs/rootCA.pem test/certs/site.key
python3 -m test
test-environment-with-haketilo: test/certs/rootCA.pem test/certs/site.key \
$(default_target)-build.zip
python3 -m test --load-haketilo
# helper targets
clean mostlyclean:
rm -rf mozilla-unpacked chromium-unpacked haketilo-$(version)
rm -f mozilla-build.zip chromium-build.zip haketilo-$(version).tar.gz \
haketilo-$(version).tar exports_init.js
rm -rf test/certs
rm -rf $$(find . -name geckodriver.log)
rm -rf $$(find . -type d -name __pycache__)
rm -rf $$(find . -type d -name injected_scripts)
distclean: clean
rm -f Makefile config.status record.conf
maintainer-clean: distclean
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
rm -f "$(srcdir)"/icons/*.png
dist: $(extension_files) $(metafiles) icons/haketilo16.png
test -d haketilo-$(version) || mkdir haketilo-$(version)
for file in $(extension_files) $(metafiles) icons/; do \
cp -R "$(srcdir)"/$$file haketilo-$(version); \
done
tar cf haketilo-$(version).tar haketilo-$(version)
gzip haketilo-$(version).tar
# Files for constructing the makefile
Makefile: config.status Makefile.in record.conf
./config.status
config.status: write_makefile.sh
cp "$(srcdir)"/write_makefile.sh config.status
# Unused GNU-specified targets
install-html:
install-dvi:
install-pdf:
install-ps:
TAGS:
info:
dvi:
html:
pdf:
ps:
check:
installcheck:
installdirs:
|