338 make -C /path/to/dir — bmotmans ソース 8 Grump-それは標準的なmakeにはありません。これはGNU拡張である必要があります。LinuxとUnixを言っているので、どちらが必要かは明確ではありませんが、-CオプションはSolaris 10(/ usr / ccs / bin / make)、AIX(/ usr / bin / make)、またはHP-UX 11.23(/ usr / bin / make)。それでも、4分の1は悪くないです。 — Jonathan Leffler、 6 BSD makeでも機能するため、単なるGNU拡張ではありません。 — Chris Dodd 2013年 4 「C」が大文字であることを確認してください。 — m.r226 2016
100 他の回答で述べたように、make(1)には-C このオプションがあります。いくつかのコマンドには同様のオプションがあります(たとえばtar)。このようなオプションがない他のコマンドについては、以下を使用できることに注意してください。 (cd /dir/path && command-to-run) これは、最初に作業ディレクトリが変更されたサブシェルでコマンドを実行します(親シェルの作業ディレクトリはそのままにします)。ここで&& は; 、ディレクトリを変更できないエラーケースをキャッチする代わりに使用されます。 — デイブC ソース
22 ディレクトリにcdしたくない理由が、後のタスクのために現在のディレクトリにとどまる必要があるためである場合は、pushdとpopdを使用できます。 pushd ProjectDir ; make ; popd それがProjectDirに入り、makeが実行され、元の場所に戻ります。 — エニグマカレー ソース
-3 makefile: all: gcc -Wall -Wpedantic -std=gnu99 -g src/test.c -o build/test run: ./build/test または run: ./../build/test 等 — Oldpilsbury ソース 1 答えは完全に質問を逃しました-それはメイクファイルを書く方法ではなく、メイクを呼び出す方法についてです。 — Petr