MAKEFLAGS += --no-builtin-rules
MAKEFLAGS += --no-builtin-variables

SRCS=$(shell ls *.pikchr | sort -t_ -k2 -n)
SVGS=$(SRCS:.pikchr=.svg)
PNGS=$(SRCS:.pikchr=.png)

svgs: $(SVGS)
pngs: $(PNGS)

%.svg: %.pikchr
	pikchr --svg-only $< > $@

%.png: %.svg
	inkscape -w 1024 -h 1024 -y 1.0 -b "#ffffff" $< -o $@

windows=boxcar hamming blackman kaiser8 kaiser12
GIFS=$(windows:%=%.gif)
gifs: $(GIFS)

define GIF_rule
$(1): $(filter $(1:%.gif=%)%, $(PNGS))
	magick -delay 20 -loop 0 $$^ $$@
endef

# Automatically create targets for each window GIF.
$(foreach gif, $(GIFS), $(eval $(call GIF_rule, $(gif))))
