make -C /path/to/dir
Wie in anderen Antworten erwähnt, hat make(1) einen -C
Option dafür; mehrere Befehle haben ähnliche Optionen (z. B. tar). Es ist nützlich zu beachten, dass für andere Befehle, denen solche Optionen fehlen, Folgendes verwendet werden kann:
(cd /dir/path && command-to-run)
Dadurch wird der Befehl in einer Sub-Shell ausgeführt, deren Arbeitsverzeichnis zuerst geändert wird (während das Arbeitsverzeichnis der übergeordneten Shell in Ruhe gelassen wird). Hier &&
wird anstelle von ;
verwendet um Fehlerfälle abzufangen, bei denen das Verzeichnis nicht geändert werden kann.
Wenn Sie nicht in ein Verzeichnis wechseln möchten, weil Sie für eine spätere Aufgabe im aktuellen Verzeichnis bleiben müssen, können Sie pushd und popd verwenden:
pushd ProjectDir ; make ; popd
Das geht in das ProjectDir, führt make aus und kehrt dorthin zurück, wo Sie waren.