উইন্ডোজগুলিতে কীভাবে $ (শেল সন্ধান করুন-নাম '* .cpp') পোর্ট করবেন?


1

আমার কাছে এটি মেকফাইলে রয়েছে:

# 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$

কোনটি সুন্দর, তবে এটি নিয়মিত ভাব প্রকাশ করে ... আমি কীভাবে এই অধিকারটি পোর্ট করব, যাতে উভয় সিস্টেমে ভাল আচরণ হয়? ফাইল সন্ধানের জন্য মেকফিলের নিজস্ব পদ্ধতি নেই?


1
dir *.cpp /sঅপর্যাপ্ত হওয়ার কোনও কারণ আছে কি ?
শেঠ


আপনার MinGW / সাইগউইন খতিয়ে দেখা উচিত। এগুলি উইন্ডোজ চলমান ইউনিক্স ইউটিলিটিগুলির সংগ্রহ এবং আপনার উইন্ডোজটিতে ইউনিক্স-উদ্ভূত মেকফিলগুলি চালানো যাক (আরও আপনি উইন্ডোজটিতে লিনাক্সের মতো শেল পাবেন ...)।
xenoid

হতে পারে আপনি পোর্টেবল বিল্ড সিস্টেমগুলি দেখুন, যা ধারণা থেকে এইরকম পার্থক্য মোকাবেলা করে।
রাউল স্যালিনাস-মন্টেইগুডো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.