আমার কাছে একটি মেকফাইল রয়েছে যা আমি ছবিগুলি সংকুচিত করতে ব্যবহার করি:
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
কমান্ডের মধ্যে একটি সমস্যা , তবে এটি কাজ করতে কী পরিবর্তন করতে হবে তা আমি নিশ্চিত নই।
ফাইলের নাম ফাঁকা করার জন্য আমি কীভাবে আমার মেকফিলটি সংশোধন করব?