jw-pkg/make/svg.mk

41 lines
1.1 KiB
Makefile
Raw Normal View History

SVG_GENERATE_FORMATS ?= png
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
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 $@
%.ico: %.png
icotool -o $@ -c $<