inputs = $(wildcard *.svg) # outputs = $(inputs:%.svg=output/%_44100.wav) # outputs += $(inputs:%.svg=output/%_48000.wav) # outputs += $(inputs:%.svg=output/%_96000.wav) outputs += $(inputs:%.svg=output/%all.wav) .PHONY: all all: output ${outputs} output: mkdir output output/%_44100.wav: %.svg ./render.py -s 44100 -o $(@:%.svg=%_44100.wav) $< output/%_48000.wav: %.svg ./render.py -s 48000 -o $(@:%.svg=%_48000.wav) $< output/%_96000.wav: %.svg ./render.py -s 96000 -o $(@:%.svg=%_96000.wav) $< output/%_192000.wav: %.svg ./render.py -s 192000 -o $(@:%.svg=%_192000.wav) $< output/%all.wav: %.svg for number in {000..360..5} ; do \ ./render.py -s 192000 -t 0.1 -o output/$(@F)_$$number.wav -r $$number $< ; \ done sox output/$(@F)_*.wav $@ ffmpeg -f concat -safe 0 -i <( for f in output/$(@F)_*.wav; do echo "file '$$(pwd)/$$f'"; done ) output.wav rm output/$(@F)_*.wav .PHONY: clean clean: rm -rf output