+VPATH=../../sources/vector
+
+SVGS=$(shell find $(VPATH) -name "*.svg")
+PNGS=$(patsubst $(VPATH)/%.svg, %.png, $(SVGS))
+ROACH=$(filter roach, $(PNGS))
+
+ROACH_32=$(subst roach, roach_32, $(ROACH))
+ROACH_21=$(subst roach, roach_21, $(ROACH))
+
+all: $(PNGS) $(ROACH_32) $(ROACH_21) roach_quartet roach_nonet
+
+# Default rule
+
+%.png: %.svg
+ @mkdir -p `dirname $@`
+ @inkscape -z -e $@ -w 64 -h 64 $<
+
+# Smaller roaches
+
+roach_32/%.png: roach/%.svg
+ @mkdir -p `dirname $@`
+ @inkscape -z -e $@ -w 32 -h 32 $<
+
+roach_21/%.png: roach/%.svg
+ @mkdir -p `dirname $@`
+ @inkscape -z -e $@ -w 21 -h 21 $<
+
+# Roach quartet
+
+roach_quartet: $(ROACH_32)
+ @mkdir -p roach_quartet
+ @montage $(foreach i, 1 2 3 4, roach_32/roach_$(i).png) -geometry +0+0 -background none roach_quartet/roach_1.png
+ @montage $(foreach i, 2 3 4 1, roach_32/roach_$(i).png) -geometry +0+0 -background none roach_quartet/roach_2.png
+ @montage $(foreach i, 3 4 1 2, roach_32/roach_$(i).png) -geometry +0+0 -background none roach_quartet/roach_3.png
+ @montage $(foreach i, 4 1 2 3, roach_32/roach_$(i).png) -geometry +0+0 -background none roach_quartet/roach_4.png
+ @montage $(foreach i, 1 2 3 4, roach_32/eyes_$(i).png) -geometry +0+0 -background none roach_quartet/eyes_1.png
+ @montage $(foreach i, 2 3 4 1, roach_32/eyes_$(i).png) -geometry +0+0 -background none roach_quartet/eyes_2.png
+ @montage $(foreach i, 3 4 1 2, roach_32/eyes_$(i).png) -geometry +0+0 -background none roach_quartet/eyes_3.png
+ @montage $(foreach i, 4 1 2 3, roach_32/eyes_$(i).png) -geometry +0+0 -background none roach_quartet/eyes_4.png
+
+# Roach nonet
+
+roach_nonet: $(ROACH_21)
+ @mkdir -p roach_nonet
+ @montage $(foreach i, 1 2 3 4 1 2 3 4 1, roach_21/roach_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/roach_1.png
+ @montage $(foreach i, 2 3 4 1 2 3 4 1 2, roach_21/roach_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/roach_2.png
+ @montage $(foreach i, 3 4 1 2 3 4 1 2 3, roach_21/roach_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/roach_3.png
+ @montage $(foreach i, 4 1 2 3 4 1 2 3 4, roach_21/roach_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/roach_4.png
+ @montage $(foreach i, 1 2 3 4 1 2 3 4 1, roach_21/eyes_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/eyes_1.png
+ @montage $(foreach i, 2 3 4 1 2 3 4 1 2, roach_21/eyes_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/eyes_2.png
+ @montage $(foreach i, 3 4 1 2 3 4 1 2 3, roach_21/eyes_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/eyes_3.png
+ @montage $(foreach i, 4 1 2 3 4 1 2 3 4, roach_21/eyes_$(i).png) -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 roach_nonet/eyes_4.png
+