ฉันมี makefile ที่ใช้บีบอัดรูปภาพ:
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% "$@"
อย่างไรก็ตามเมื่อฉันมีรูปภาพที่มีช่องว่างในชื่อตัวอย่างเช่นPiper PA-28-236 Dakota.JPG
ฉันได้รับข้อผิดพลาดนี้:
make: *** No rule to make target `Compressed/Piper', needed by `all'. Stop.
ฉันคิดว่านี่เป็นปัญหาในwildcard
คำสั่ง แต่ฉันไม่แน่ใจว่าจะเปลี่ยนเพื่อให้ทำงานได้
ฉันจะแก้ไข makefile ของฉันเพื่ออนุญาตให้มีช่องว่างในชื่อไฟล์ได้อย่างไร