আমার কাছে এটি মেকফাইলে রয়েছে:
# find cpp files in subdirectories
SOURCES := $(shell find . -name '*.cpp')
সুতরাং আমি জেনেরিক FIND
কমান্ডটি তৈরি করতে চেয়েছিলাম যা উইন্ডোজ এবং লিনাক্সে সঠিকভাবে আচরণ করে:
ifeq ($(OS),Windows_NT)
# WINDOWS
RM = erase /Q
FIND = ???
else
# LINUX
ifeq ($(shell uname), Linux)
RM = rm -f
# This is probably wrong too, but I have no idea how to do it right
FIND = $(find . -name '$1')
endif
endif
অবশ্যই, আমি এমনকি লিনাক্সের জন্য প্যারামেট্রাইজড ফাইন্ড টেম্পলেট তৈরি করতে জানি না। তবে আরও বড় কথা, প্যাটার্ন অনুসারে সমস্ত ফাইল সন্ধানের জন্য আমি কমান্ড খুঁজে পাচ্ছি না। উইন্ডোজ এটি আছে:
dir * /s/b | findstr \.cpp$
কোনটি সুন্দর, তবে এটি নিয়মিত ভাব প্রকাশ করে ... আমি কীভাবে এই অধিকারটি পোর্ট করব, যাতে উভয় সিস্টেমে ভাল আচরণ হয়? ফাইল সন্ধানের জন্য মেকফিলের নিজস্ব পদ্ধতি নেই?
আপনার MinGW / সাইগউইন খতিয়ে দেখা উচিত। এগুলি উইন্ডোজ চলমান ইউনিক্স ইউটিলিটিগুলির সংগ্রহ এবং আপনার উইন্ডোজটিতে ইউনিক্স-উদ্ভূত মেকফিলগুলি চালানো যাক (আরও আপনি উইন্ডোজটিতে লিনাক্সের মতো শেল পাবেন ...)।
—
xenoid
হতে পারে আপনি পোর্টেবল বিল্ড সিস্টেমগুলি দেখুন, যা ধারণা থেকে এইরকম পার্থক্য মোকাবেলা করে।
—
রাউল স্যালিনাস-মন্টেইগুডো
dir *.cpp /s
অপর্যাপ্ত হওয়ার কোনও কারণ আছে কি ?