SVG_GENERATE_FORMATS ?= png svg SVG ?= $(filter-out copied-%,$(wildcard *.svg)) COPIED_SVG = $(addprefix copied-,$(notdir $(SVG))) GENERATED_WIDTHS ?= 50 100 200 300 400 500 600 700 800 546 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_WIDTHS_ICO ?= 16 32 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/.*-//') \ --export-png=$@ copied-$(shell echo $* | sed 's/-[0-9]\+$$//').svg %.pdf: copied-%.svg inkscape --export-pdf=$@ $< copied-%.svg: $(SVG) @echo $^ cp $(filter %$*.svg, $^) $@.tmp mv $@.tmp $@ %.ico: %.png icotool -o $@ -c $<