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)

.PHONY: all logos check-tools clean-generated

all: logos

logos: check-tools $(GENERATED_LOGOS)

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)
