SVG ?= $(filter-out copied-%,$(wildcard *.svg)) COPIED_SVG = $(addprefix copied-,$(notdir $(SVG))) GENERATED_WIDTHS ?= 50 100 200 300 400 500 600 700 800 546 GENERATED_PNG_WIDTHS ?= $(GENERATED_WIDTHS) GENERATED_PNGS = \ $(foreach w, $(GENERATED_PNG_WIDTHS),$(patsubst %.svg,%-$w.png,$(notdir $(SVG)))) GENERATED_IMAGES = $(GENERATED_PNGS) 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 copied-%.svg: $(SVG) @echo $^ cp $(filter %$*.svg, $^) $@.tmp mv $@.tmp $@