# This file is part of Haketilo # # Copyright (C) 2021, jahoti # Copyright (C) 2021, 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>> 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 ../$@ * # testing-related targets test/certs/: [ -d test ] || mkdir test 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 MOZ_HEADLESS=whatever $(PYTEST) "$(srcdir)" test-environment: test/certs/rootCA.pem test/certs/site.key PYTHONPATH="$(srcdir)" $(PYTHON) -m test # 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 rm -rf test/certs rm -rf $$(find . -name geckodriver.log) rm -rf $$(find . -type d -name __pycache__) distclean: clean rm -f Makefile config.status record.conf testing.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: