2019-03-03 18:12:28 +00:00
|
|
|
SVG_GENERATE_FORMATS ?= png svg
|
|
|
|
|
SVG ?= $(filter-out copied-%,$(wildcard *.svg))
|
|
|
|
|
COPIED_SVG = $(addprefix copied-,$(notdir $(SVG)))
|
2025-05-11 10:58:31 +00:00
|
|
|
INKSCAPE_VERSION = $(shell export -n DISPLAY; inkscape -V 2>&1 | sed '/Inkscape/ !d; s/Inkscape *\([0-9.]\+\) .*/\1/')
|
2020-08-29 14:01:42 +00:00
|
|
|
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
|
2016-02-11 13:13:45 +00:00
|
|
|
|
2019-03-03 18:12:28 +00:00
|
|
|
GENERATED_ICON_WIDTHS += 16 32 48 64 72 96 128 144 168 192
|
|
|
|
|
GENERATED_WIDTHS ?= $(GENERATED_ICON_WIDTHS) $(GENERATED_EXTRA_WIDTHS)
|
2016-02-11 13:13:45 +00:00
|
|
|
|
|
|
|
|
ifneq ($(filter png,$(SVG_GENERATE_FORMATS)),)
|
2019-03-03 18:12:28 +00:00
|
|
|
GENERATED_WIDTHS_PNG ?= $(GENERATED_WIDTHS)
|
|
|
|
|
GENERATED_PNG ?= \
|
2016-02-11 13:13:45 +00:00
|
|
|
$(foreach w, $(GENERATED_WIDTHS_PNG),$(patsubst %.svg,%-$w.png,$(notdir $(SVG))))
|
2019-03-03 18:12:28 +00:00
|
|
|
GENERATED_IMAGES += $(GENERATED_PNG)
|
2016-02-11 13:13:45 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifneq ($(filter ico,$(SVG_GENERATE_FORMATS)),)
|
2019-03-03 18:12:28 +00:00
|
|
|
GENERATED_WIDTHS_ICO ?= 16 32
|
|
|
|
|
GENERATED_ICO ?= \
|
2016-02-11 13:13:45 +00:00
|
|
|
$(foreach w, $(GENERATED_WIDTHS_ICO),$(patsubst %.svg,%-$w.ico,$(notdir $(SVG))))
|
2019-03-03 18:12:28 +00:00
|
|
|
GENERATED_IMAGES += $(GENERATED_ICO)
|
2016-02-11 13:13:45 +00:00
|
|
|
endif
|
2016-02-11 10:39:27 +00:00
|
|
|
|
2016-05-24 14:04:45 +00:00
|
|
|
ifneq ($(filter pdf,$(SVG_GENERATE_FORMATS)),)
|
2019-03-03 18:12:28 +00:00
|
|
|
GENERATED_PDF ?= $(patsubst %.svg,%.pdf,$(notdir $(SVG)))
|
|
|
|
|
GENERATED_IMAGES += $(GENERATED_PDF)
|
2016-05-24 14:04:45 +00:00
|
|
|
endif
|
|
|
|
|
|
2016-02-11 15:03:11 +00:00
|
|
|
ifneq ($(filter svg,$(SVG_GENERATE_FORMATS)),)
|
2019-03-03 18:12:28 +00:00
|
|
|
IMAGES += $(notdir $(SVG))
|
2016-02-11 15:03:11 +00:00
|
|
|
endif
|
|
|
|
|
|
2016-02-11 10:39:27 +00:00
|
|
|
all: $(GENERATED_IMAGES)
|
|
|
|
|
install:
|
|
|
|
|
clean: clean.images
|
|
|
|
|
distclean:
|
|
|
|
|
|
|
|
|
|
clean.images:
|
2017-09-02 19:26:52 +00:00
|
|
|
$(RM) -f $(GENERATED_IMAGES) $(COPIED_SVG)
|
2016-02-11 10:39:27 +00:00
|
|
|
|
2016-02-11 12:52:02 +00:00
|
|
|
%.png: $(COPIED_SVG)
|
2025-05-11 10:58:31 +00:00
|
|
|
export -n DISPLAY; inkscape -w $(shell echo $* | sed 's/.*-//') \
|
2020-08-29 14:01:42 +00:00
|
|
|
$(INKSCAPE_EXPORT_PNG)=$@ copied-$(shell echo $* | sed 's/-[0-9]\+$$//').svg
|
2016-02-11 10:39:27 +00:00
|
|
|
|
2016-05-24 14:04:45 +00:00
|
|
|
%.pdf: copied-%.svg
|
2025-05-11 10:58:31 +00:00
|
|
|
export -n DISPLAY; inkscape --export-filename="$@" $<
|
2016-05-24 14:04:45 +00:00
|
|
|
|
2016-02-11 12:52:02 +00:00
|
|
|
copied-%.svg: $(SVG)
|
|
|
|
|
@echo $^
|
|
|
|
|
cp $(filter %$*.svg, $^) $@.tmp
|
|
|
|
|
mv $@.tmp $@
|
2016-02-11 10:39:27 +00:00
|
|
|
|
2016-02-11 13:13:45 +00:00
|
|
|
%.ico: %.png
|
|
|
|
|
icotool -o $@ -c $<
|