私はFinderを使用して、さまざまなプロジェクト(LaTeXの記事、プログラミングなど)のソースディレクトリに移動し、そのコンパイルをMakefile。makeFinderから直接、適切なディレクトリで対応するコマンド()を呼び出す(何かを右クリックする)簡単な方法(サービスメニュー、Automatorなど)があるかどうか疑問に思いました。
OS X 10.8を実行しています。
あなたの提案を事前に感謝します
make -C ドラッグする前に入力してくださいMakefile。
私はFinderを使用して、さまざまなプロジェクト(LaTeXの記事、プログラミングなど)のソースディレクトリに移動し、そのコンパイルをMakefile。makeFinderから直接、適切なディレクトリで対応するコマンド()を呼び出す(何かを右クリックする)簡単な方法(サービスメニュー、Automatorなど)があるかどうか疑問に思いました。
OS X 10.8を実行しています。
あなたの提案を事前に感謝します
make -C ドラッグする前に入力してくださいMakefile。
回答:
次のような関数を使用できます。
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
}
または、cdコマンドだけの関数を保存し、history-search-backwardを使用してのようなものを実行しますcdf && make && make install。
または、Automatorを開き、サービステンプレートを選択して、入力タイプを入力なしに設定し、次のようなRun AppleScriptアクションを追加します。
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
tryブロックがないと、スクリプトがエラーで終了した場合、Automatorはエラーダイアログを表示します。
これは不器用な方法ですが、おそらく何もしないよりはましです。
makeit.commandという名前のテキストファイルを作成し、それに1行のテキストを挿入します。
make
次に、ファイル755を選択します
chmod 755 makeit.command
makeを実行する場合は、そのフォルダーにドラッグ/コピーしてからダブルクリックします。
#!/usr/bin/make -fの最初の行として追加しMakefileて実行可能にしてみましたが、正しいフォルダで実行されません。だから、私はThe-Doodの答えに沿った解決策を見つけました。
ターミナルを開き、プロジェクトを作成したフォルダーに移動してMakefile、次のように入力します。
cat <<EOF > Makeit
make -C `dirname $_`
echo 'Press enter to continue'
read
EOF
chmod +x Makeit
ダブルクリックすると、同じフォルダMakeitが呼び出さmakeれます。呼び出しmakeまたは編集時に他の引数を自由に追加できますMakeit。
このソリューションは機能しますがMakeit、各フォルダにのコピーが必要になるため、あまり便利ではありません。
Lauri RantaのAppleScriptの回答が好きです。私はFinderを使用してフォルダを見つけ、Finderで選択したディレクトリにgitリポジトリを作成できるようにするために、自分自身でそのようなことに取り組んでいました。
フォルダーのmakeコマンドを呼び出す場所も確認できます。
FinderのGUIを使用できると便利だと思うし、選択したディレクトリを使用して多くのことを実行したいと思うかもしれません。
このAutomatorサービスは、AppleScript内のディレクトリに対してあらゆる種類のコマンドを発行するよりも一般的であり、必要なシェルコマンドを入力する準備ができていると思います。
---編集---
申し訳ありませんが、上の私の投稿は元の質問に回答しませんでした。以下は、Finderで選択されたディレクトリでmakeコマンドを実行するサービスとして保存されたAutomatorワークフローへのリンクです。
私はこの新しいサービスを試しましたが、シェルコマンド「make」を実行したい場合もあれば、シェルコマンド「make && make install」を実行したい場合や、別のターゲット「make fullbuild」などをビルドします。だから「Connect to Selected Directory」というサービスがいいと思いました。
makeわかりませんが、ターミナルウィンドウを開いて入力し、ターミナルにをmakeドラッグしMakefileてパスをコピーできます。