メイクファイルを実行するには、メイクファイルのディレクトリに移動する必要があり、そこからのみメイクファイルを実行できます。どのディレクトリにいても同じようにできますか?
(cd /other/dir && make)
your Shell's現在のディレクトリは変更されませんが、指定された作業ディレクトリでmake
を実行します。
&&
は、コマンドのmake
部分にエラーがある場合(たとえば、ディレクトリが存在しないか、ユーザーが存在しない場合)、cd
が実行されないようにしますアクセスできます)。
上記のアプローチは、make
だけでなく、あらゆる種類のコマンドに役立ちます。このため、覚えておく価値があります。
-C
オプションのmanページを確認してください。
いくつかのUnixコマンドは、このオプションなしで開始されましたが、いつか追加されました(例:GNU実装))
あなたは使うことができます
make -C dir
指定されたメイクファイルを読み取る前に、ディレクトリdir
に移動します。オプション-C
は大文字です。
これは古い質問ですが、~/.bashrc
エイリアス。これは次のようになります。
alias makeaway="cd /dir/to/make && make && cd -"
使用する cd ./dir && make && pwd
Makefile内。
Makefileの例:
BUILD_DIR = $(Shell pwd)
deploy::
cd ./dist/local && make && pwd && npm publish && cd .. && cd .. && pwd
clean::
npm cache clean --force