ফাইন্ডার থেকে মেকফাইল চালান


8

আমি প্রায়শই বিভিন্ন প্রকল্পের সূত্র ডিরেক্টরিতে অনুসন্ধানকারী (ল্যাটেক্স নিবন্ধ, প্রোগ্রামিং স্টাফ) ব্যবহার করে ভ্রমণ করি যার জন্য সংকলনটি a দ্বারা চালিত হয় Makefile। আমি ভাবছিলাম যে makeফাইন্ডারের কাছ থেকে ভাল ডিরেক্টরি ডাইরেক্টোলিতে সংশ্লিষ্ট কমান্ডটি ( ) কোনও কিছুর ডান-ক্লিক করুন ) অনুরোধ করার কোনও সহজ উপায় (সার্ভিস মেনু, অটোমেটর যাই হোক না কেন) আছে কিনা।

আমি OS X 10.8 চালাচ্ছি।

আপনার পরামর্শের জন্য অগ্রিম ধন্যবাদ


100% ফাইন্ডার make-িং সম্পর্কে নিশ্চিত নয় তবে আপনি একটি টার্মিনাল উইন্ডোটি খুলতে পারেন এবং এরপথটি অনুলিপি করতে টার্মিনালে makeটানতে Makefileপারেন।
2rs2ts

1
@ 2rs2ts, আপনি যদি এই পথে যান make -C তবে টেনে আনার আগে টাইপ করুন Makefile
lhf

@ এলএইচএফ হ্যাঁ অবশ্যই,
2rs2ts

1
@ 2rs2ts- এ যুক্ত করে আপনি সম্ভবত একটি টার্মিনাল তৈরি করতে চান বা কোনও সম্পাদক থেকে ত্রুটি বার্তাগুলি দেখতে চান
ব্যবহারকারী 151019

উত্তর:


3

আপনি এই জাতীয় ফাংশন ব্যবহার করতে পারেন:

fmake() {
  cd "$(osascript -e 'tell application "Finder"
      POSIX path of (target of Finder window 1 as alias)
  end tell' 2> /dev/null)"
  make && make install
}

বা কেবল সিডি কমান্ডের জন্য একটি ফাংশন সংরক্ষণ করুন এবং এর মতো কিছু চালানোর জন্য ইতিহাস-অনুসন্ধান-পিছনে ব্যবহার করুন cdf && make && make install

অথবা অটোমেটার খুলুন, পরিষেবা টেম্পলেটটি চয়ন করুন, ইনপুট প্রকারকে কোনও ইনপুট সেট করবেন না এবং এটির মতো একটি অ্যাপলস্ক্রিপ্ট রান করুন:

try
    tell application "Finder"
        POSIX path of (target of Finder window 1 as alias)
    end tell
    tell application "Terminal"
        do script "cd " & quoted form of result & " && make && make install"
        activate
    end tell
end

স্ক্রিপ্টটি কোনও ত্রুটি সহ প্রস্থান করা হলে চেষ্টা ব্লক ছাড়াই অটোমেটর একটি ত্রুটি ডায়ালগ প্রদর্শন করবে।


আপনি ত্রুটি দেখতে বা কমপক্ষে ত্রুটিযুক্ত লগটি দেখতে stdout এবং std
টিপতে পারেন

0

স্বীকার করা, এটি একটি আনাড়ি উপায় তবে কিছুই না থেকে ভাল:

Makeit.command নামে একটি পাঠ্য ফাইল তৈরি করুন এবং এতে একটি পাঠ্য পাঠ্য রেখে দিন:

make

তারপরে 755 ফাইলটি chomod করুন

chmod 755 makeit.command 

আপনি যদি কোনও মেক চালাতে চান তবে এটিকে ফোল্ডারে টানুন / অনুলিপি করুন এবং তারপরে এটি ডাবল ক্লিক করুন।


1
সেক্ষেত্রে বর্তমান ডিরেক্টরিটি কী? আমি মনে করি না যে
মেকফিলটি

0

আমি #!/usr/bin/make -fপ্রথম লাইন হিসাবে যুক্ত করার চেষ্টা করেছি Makefileএবং এটিকে সম্পাদনযোগ্য করে তুলছি তবে এটি সঠিক ফোল্ডারে চলে না। সুতরাং আমি দ্য ডুডের উত্তরের লাইনে একটি সমাধানের জন্য স্থির করেছি।

একটি টার্মিনাল খুলুন এবং আপনি যে ফোল্ডারে প্রজেক্ট করেছেন সেখানে যান এবং Makefileতারপরে এটি টাইপ করুন:

cat <<EOF > Makeit
make -C `dirname $_`
echo 'Press enter to continue'
read
EOF
chmod +x Makeit

এখন একই ফোল্ডারে ডাবল-ক্লিক করা Makeitউচিত make। ইচ্ছামত কল করা makeবা সম্পাদনা Makeitকরার সময় আপনি অন্য কোনও যুক্তি যুক্ত করতে পারেন ।

এই সমাধানটি কাজ করে তবে এটি মারাত্মকভাবে সুবিধাজনক হতে পারে না কারণ Makeitপ্রতিটি ফোল্ডারে আপনার একটি অনুলিপি প্রয়োজন ।


0

আমি লরি রন্তার অ্যাপলস্ক্রিপ্ট উত্তরটি পছন্দ করি। আমি নিজের জন্য একটি ফোল্ডার সন্ধান করতে এবং ফাইন্ডারে নির্বাচিত ডিরেক্টরিতে একটি গিট রিপোজিটরি তৈরি করতে সক্ষম হওয়ার জন্য এই জাতীয় জিনিসটিতে কাজ করছিলাম।

আমি দেখতে পাচ্ছি আপনি যেখানে কোনও ফোল্ডারে মেক কমান্ড কল করতে পারেন।

আমার কাছে মনে হয়েছে যে এটি ফাইন্ডারের জিইউআই ব্যবহার করতে সক্ষম হবেন এবং আপনি নির্বাচিত ডিরেক্টরিটি দিয়ে অনেক কিছু করতে চাইতে পারেন।

নির্বাচিত ডিরেক্টরিতে সংযোগ করুন

আমি মনে করি যে এই অটোম্যাটর পরিষেবাটি অ্যাপলস্ক্রিপ্টের অভ্যন্তরে কোনও ডিরেক্টরিতে কোনও ধরণের কমান্ড দেওয়ার চেয়ে সাধারণ এবং আপনি যে শেল কমান্ডটি চান তা প্রবেশ করার জন্য আপনাকে প্রস্তুত করে তোলে।

--- সম্পাদনা ---

আমি দুঃখিত, আমার পোস্টটি মূল প্রশ্নের উত্তর দেয় নি। এখানে সার্ভিস হিসাবে সংরক্ষিত একটি অটোমেটার ওয়ার্কফ্লোতে একটি লিঙ্ক রয়েছে যা ফাইন্ডারে নির্বাচিত ডিরেক্টরিটিতে মেক কমান্ড চালায়:

রান মেক করুন

আমি আমার এই নতুন পরিষেবাটি চেষ্টা করেছিলাম এবং এটি আমার পছন্দ হয়নি কারণ কখনও কখনও আপনি শেল কমান্ড "মেক" করতে এবং অন্যান্য সময় শেল কমান্ড "মেক অ্যান্ড মেক ইনস্টল" করতে চাইতে পারেন বা আপনি এটি করতে চাইতে পারেন একটি পৃথক লক্ষ্য তৈরি করুন "মেক ফুলবিল্ড" বা কিছু। সে কারণেই আমি ভাবছিলাম যে "সংযুক্তিতে নির্বাচিত ডিরেক্টরি" নামে একটি পরিষেবা সবচেয়ে ভাল হবে।


এটি কীভাবে এই প্রশ্নের উত্তর দেয় যা সাধারণ মন্তব্য বলে মনে হয় তবে কোনও সঠিক উত্তর নেই
ব্যবহারকারী 151019

আমি দুঃখিত. আমি বোঝাতে চাইছিলাম সমাপ্ত কোডের লিঙ্ক সহ একটি সঠিক উত্তর সরবরাহ করব যা ডাউনলোড করার পরে পরিষেবা হিসাবে ইনস্টল হবে।
কায়ডেল

ইতিমধ্যে একটি প্রাক-ইনস্টল করা পরিষেবা রয়েছে (ফোল্ডারে নিউ টার্মিনাল) যা আপনার দ্বিতীয় পরিষেবা হিসাবে একই কাজ করে।
ল্রি

@ "লরি রান্তা" আপনাকে ধন্যবাদ আপনি অবশ্যই জ্ঞানী আমি সার্ভিসটি "ফোল্ডারে নতুন টার্মিনাল" চেষ্টা করেছিলাম এটি আমার পক্ষে কাজ করে না, আমি মনে করি কারণ আমি আমার ".বাশ_প্রফাইলে" একটি ডিফল্ট ডিরেক্টরি সেট করেছি। কিছু কারণে, আমার পরিষেবা: "নির্বাচিত ডিরেক্টরিতে সংযুক্ত করুন" আমার পক্ষে কাজ করে তবে পরিষেবা: "ফোল্ডারে নতুন টার্মিনাল" টার্মিনাল.এপ খুলবে, তবে এটি বর্তমান ডিরেক্টরিটি সঠিকভাবে সেট করে না। আমি একটি বর্তমান ডিরেক্টরি পাই যা আমার ".বাশ_প্রফাইলে" সেট করা আছে।
কায়ডেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.