#!/usr/bin/make -f sources := \ $(shell \ for each in *.flac; \ do \ echo $$each | sed -e 's, ,__whitespace__,g'; \ done \ ) results = $(sources:.flac=.ogg) all: $(results) empty := space := $(empty) $(empty) reconstitute = $(subst __whitespace__,\ ,$(1)) shell-escape = $(subst $(space),\ ,$(1)) $(foreach source,$(sources), \ $(eval \ $(source:.flac=.ogg) : \ $$(call reconstitute,$(source)) ; \ /home/d34df00d/music/flac2ogg $$(call shell-escape,$$<) \ ) \ )