###############################################################################
# IPFire.org    - An Open Source Firewall Solution                            #
# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
###############################################################################

include ../Makeconf
include ../Makerules

ICON_NAME = $(DISTRO_SNAME)-logo

RESOLUTIONS = 16x16 32x32 48x48 64x64 96x96 128x128 256x256 512x512
ICONS = $(foreach res,$(RESOLUTIONS),$(ICON_NAME)-$(res).png)

ICON_KERNEL = kernel-logo.ppm
ICON_SVG = ../objects/ipfire-icon.png
ICON_PNM = $(patsubst %.png,%.pnm,$(ICON_SVG))

all: $(ICON_KERNEL) $(ICON_SVG) $(ICONS)

# Create a PNG icon file for each resolution.
$(ICONS): $(ICON_SVG)
	convert -resize $(patsubst $(ICON_NAME)-%.png,%,$@) \
		-background none \
		$< $@

$(ICON_PNM): $(ICON_SVG)
	convert \
		-background black \
		-resize 80x80 \
		-compress none \
		$< $@

$(ICON_KERNEL): $(ICON_PNM)
	pnmquant --plain 224 $< > $@

install: $(ICON_KERNEL) $(ICONS)
	-mkdir -pv $(DESTDIR)$(PREFIX)/share/pixmaps
	-mkdir -pv $(DESTDIR)$(PREFIX)/share/icons/$(DISTRO_NAME)

	for res in $(RESOLUTIONS); do \
		mkdir -pv $(DESTDIR)$(PREFIX)/share/icons/$(DISTRO_NAME)/$${res}/; \
		cp -vfl $(ICON_NAME)-$${res}.png \
			$(DESTDIR)$(PREFIX)/share/icons/$(DISTRO_NAME)/$${res}/$(ICON_NAME).png; \
		\
		case "$${res}" in \
			512x512) \
				cp -vfl $(ICON_NAME)-$${res}.png \
					$(DESTDIR)$(PREFIX)/share/pixmaps/$(DISTRO_SNAME)-logo.png; \
				;; \
			256x256) \
				cp -vfl $(ICON_NAME)-$${res}.png \
					$(DESTDIR)$(PREFIX)/share/pixmaps/system-logo-white.png; \
				;; \
		esac; \
	done

	# Install favicon.
	-mkdir -pv $(DESTDIR)/etc
	ln -svf ..$(PREFIX)/share/icons/$(DISTRO_NAME)/16x16/$(ICON_NAME).png \
		$(DESTDIR)/etc/favicon.png

	# Install kernel logo.
	cp -vfl $(ICON_KERNEL) $(DESTDIR)$(PREFIX)/share/pixmaps/kernel-logo.ppm

clean:
	rm -vf $(ICONS) $(ICON_KERNEL) $(ICON_PNM)
