I have a makefile that I use to compress pictures:
src=$(wildcard Photos/*.jpg) $(wildcard Photos/*.JPG) out=$(subst Photos,Compressed,$(src)) all : $(out) clean: @rmdir -r Compressed Compressed: @mkdir Compressed Compressed/%.jpg: Photos/%.jpg Compressed @echo "Compressing $<" @convert "$<" -scale 20% "$@" Compressed/%.JPG: Photos/%.JPG Compressed @echo "Compressing $<" @convert "$<" -scale 20% "$@"
However, when I have a picture with a space in its name, for example
Piper PA-28-236 Dakota.JPG, I get this error:
make: *** No rule to make target `Compressed/Piper', needed by `all'. Stop.
I think this is a problem in the
wildcard command, but I'm not sure what to change to get it to work.
How do I modify my makefile to allow for spaces in file names?