SVG_GENERATE_FORMATS ?= png svg SVG ?= $(filter-out copied-%,$(wildcard *.svg)) COPIED_SVG = $(addprefix copied-,$(notdir $(SVG))) INKSCAPE_VERSION = $(shell inkscape -V 2>&1 | sed '/Inkscape/ !d; s/Inkscape *\([0-9.]\+\) .*/\1/') INKSCAPE_VERSION_MAJOR = $(word 1,$(subst ., ,$(INKSCAPE_VERSION))) ifeq ($(INKSCAPE_VERSION_MAJOR),1) INKSCAPE_EXPORT_PNG = --export-filename else INKSCAPE_EXPORT_PNG = --export-png endif GENERATED_ICON_WIDTHS += 16 32 48 64 72 96 128 144 168 192 GENERATED_WIDTHS ?= $(GENERATED_ICON_WIDTHS) $(GENERATED_EXTRA_WIDTHS) ifneq ($(filter png,$(SVG_GENERATE_FORMATS)),) GENERATED_WIDTHS_PNG ?= $(GENERATED_WIDTHS) GENERATED_PNG ?= \ $(foreach w, $(GENERATED_WIDTHS_PNG),$(patsubst %.svg,%-$w.png,$(notdir $(SVG)))) GENERATED_IMAGES += $(GENERATED_PNG) endif ifneq ($(filter ico,$(SVG_GENERATE_FORMATS)),) GENERATED_WIDTHS_ICO ?= 16 32 GENERATED_ICO ?= \ $(foreach w, $(GENERATED_WIDTHS_ICO),$(patsubst %.svg,%-$w.ico,$(notdir $(SVG)))) GENERATED_IMAGES += $(GENERATED_ICO) endif ifneq ($(filter pdf,$(SVG_GENERATE_FORMATS)),) GENERATED_PDF ?= $(patsubst %.svg,%.pdf,$(notdir $(SVG))) GENERATED_IMAGES += $(GENERATED_PDF) endif ifneq ($(filter svg,$(SVG_GENERATE_FORMATS)),) IMAGES += $(notdir $(SVG)) endif all: $(GENERATED_IMAGES) install: clean: clean.images distclean: clean.images: $(RM) -f $(GENERATED_IMAGES) $(COPIED_SVG) %.png: $(COPIED_SVG) inkscape -w $(shell echo $* | sed 's/.*-//') \ $(INKSCAPE_EXPORT_PNG)=$@ copied-$(shell echo $* | sed 's/-[0-9]\+$$//').svg %.pdf: copied-%.svg inkscape --export-filename="$@" $< copied-%.svg: $(SVG) @echo $^ cp $(filter %$*.svg, $^) $@.tmp mv $@.tmp $@ %.ico: %.png icotool -o $@ -c $<