2011-08-02 8 views
3

で別の実行可能ファイルを選択します。bashの

OSにGNU makeを使用するようにOSに指示する方法を教えてください。何とかパスを上書きする必要がありますか?

+2

2つの別々の名前のプログラムでは、なぜ問題があるのか​​混乱しています。コマンドラインで 'make'と打てば、なぜ' gmake'が実行されますか?あなたはあなたが 'gmake'とタイプして' make 'を実行したと言っていますか? – shellter

答えて

5

同じ名前の2つの実行可能ファイルの場合、最初の一致が使用されるため、PATH変数のパスを並べ替えます。

そうでない場合は、お使いの~/.profileまたは~/.bashrcファイルに別名を定義します。

alias make="/usr/sfw/bin/gmake" 

または関数:

make() { /usr/sfw/bin/gmake "[email protected]"; } 

注意、別名はインタラクティブモードでのみ動作すること。スクリプトはそれらを見ません。そのような場合には関数を使用してください。

2

することができますし、変数PATHに/ usr/local/bin ので

cd /usr/bin 
    ln -s /usr/sfw/bin/gmake make 
前である限り、ディレクトリとして、あなたがそれをリンクする場所例えばは/ usr/binには/ usr/SFW/binに/ gmakeををリンク

メイクがパスに存在しないことを確認してください。 そうでなければ、makeの代わりにgmakeを呼び出してgnu-makeを使い、sun-version-makeにmakeを残すことができます。

そうでない場合、あなたは、単にgmakeの代わりmakeを入力し、前のポスト

+1

余分なものを '/ usr/bin'に入れるのは良い考えではありません。パッケージ管理にその領域を残しておいてください。 – reinierpost

1

手動でmakeコマンドを実行している場合のようにエイリアスを使用することができます。 GNUバージョン(あなたのPATHと仮定して)変数が正しく設定されます。

makeを呼び出すIDEまたはその他のツールがある場合は、makeではなくgmakeを使用するように指示する必要があります。その方法は、使用しているツールによって異なります。

+0

これらの行の別の可能性:後で "make"を呼び出す再帰的makefileを "gmake"で起動していても、makefileを修正してその中のハードコードされた "make"を "$(MAKE) " – slowdog