62 lines
2.0 KiB
Makefile
62 lines
2.0 KiB
Makefile
# Copyright © 2026 Olaf Kolkman
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
SHELL := /bin/sh
|
|
|
|
SOURCE_LOGO := LinkLog.svg
|
|
MAGICK ?= magick
|
|
WEB_LOGO := frontend/static/logo.svg
|
|
EXTENSION_LOGO := webextension/logo.svg
|
|
ICON_FILES := webextension/icon-16.png webextension/icon-32.png webextension/icon-48.png webextension/icon-96.png
|
|
GENERATED_LOGOS := $(WEB_LOGO) $(EXTENSION_LOGO) $(ICON_FILES)
|
|
EXTENSION_VERSION := $(shell sed -n 's/^[[:space:]]*"version":[[:space:]]*"\([^"]*\)".*/\1/p' webextension/manifest.json | head -n 1)
|
|
XPI_FILE := LinkLog-$(EXTENSION_VERSION).xpi
|
|
XPI_UNSIGNED_DIR := XPI/unsigned
|
|
XPI_SIGNED_DIR := XPI/signed
|
|
XPI_OUTPUT := $(XPI_UNSIGNED_DIR)/$(XPI_FILE)
|
|
EXTENSION_FILES := manifest.json logo.svg icon-16.png icon-32.png icon-48.png icon-96.png options.css options.html options.js popup.css popup.html popup.js
|
|
|
|
.PHONY: all logos xpi check-tools clean-generated
|
|
|
|
all: logos
|
|
|
|
|
|
logos: check-tools $(GENERATED_LOGOS)
|
|
|
|
xpi: logos
|
|
@test -n "$(EXTENSION_VERSION)" || { echo "Error: extension version is missing from webextension/manifest.json" >&2; exit 1; }
|
|
@mkdir -p $(XPI_UNSIGNED_DIR) $(XPI_SIGNED_DIR)
|
|
@rm -f $(XPI_OUTPUT)
|
|
@cd webextension && zip -q -9 "../$(XPI_OUTPUT)" $(EXTENSION_FILES)
|
|
@echo "Created $(XPI_OUTPUT)"
|
|
|
|
check-tools:
|
|
@command -v $(MAGICK) >/dev/null 2>&1 || { echo "Error: ImageMagick '$(MAGICK)' is required. Install ImageMagick and retry." >&2; exit 1; }
|
|
|
|
$(WEB_LOGO): $(SOURCE_LOGO)
|
|
@mkdir -p $(@D)
|
|
@cp $< $@
|
|
|
|
$(EXTENSION_LOGO): $(SOURCE_LOGO)
|
|
@mkdir -p $(@D)
|
|
@cp $< $@
|
|
|
|
webextension/icon-16.png: $(SOURCE_LOGO)
|
|
@mkdir -p $(@D)
|
|
@$(MAGICK) $< -resize 16x16 -gravity center -extent 16x16 $@
|
|
|
|
webextension/icon-32.png: $(SOURCE_LOGO)
|
|
@mkdir -p $(@D)
|
|
@$(MAGICK) $< -resize 32x32 -gravity center -extent 32x32 $@
|
|
|
|
webextension/icon-48.png: $(SOURCE_LOGO)
|
|
@mkdir -p $(@D)
|
|
@$(MAGICK) $< -resize 48x48 -gravity center -extent 48x48 $@
|
|
|
|
webextension/icon-96.png: $(SOURCE_LOGO)
|
|
@mkdir -p $(@D)
|
|
@$(MAGICK) $< -resize 96x96 -gravity center -extent 96x96 $@
|
|
|
|
clean-generated:
|
|
@rm -f $(GENERATED_LOGOS)
|