回答:
パッケージにより異なります。MakefileがGNU autotools(./configure
)によって生成される場合、通常は次のようにターゲットの場所を設定できます。
./configure --prefix=/somewhere/else/than/usr/local
Makefileがautotoolsによって生成されず、ソフトウェアとともに配布される場合は、単にエディターで開いて変更します。インストール先のディレクトリは、おそらく変数のどこかで定義されています。
make && make install
configure句に従わないでください。
--prefix
はstrings
、結果のバイナリに対して後でを実行すると、パスが内部に格納されていることがわかります。なぜこれが発生するのかはわかりませんが、他のユーザーに出荷するバイナリのマシンパスは絶対に必要ありません。
automakeのバージョンがわからないので、DESTDIR環境変数を使用できます。
確認するにはMakefileを参照してください。
例えば:
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
コンパイルしようとしているモジュールがサポートしているものに依存している可能性があります。makefileがautotoolsを使用して生成されている場合は、次を使用します。
--prefix=<myinstalldir>
./configureを実行するとき
一部のパッケージでは、実行時にオーバーライドすることもできます。
make prefix=<myinstalldir>
ただし、。/ configureを使用していない場合、確実に知る唯一の方法は、メイクファイルを開いて確認することです。一番上にある最初のいくつかの変数の1つでなければなりません。
make prefix=...
、これらは通常、後に変更することができないので、間違ったハードコーディングされたパスを持つバイナリをもたらすことができる./configure --prefix=...
パッケージが提供する場合Makefile.PL
-使用できます:
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
*詳細な説明:https : //www.perlmonks.org/?node_id=564720
INSTALL_ROOTを使用してみてください。
make install INSTALL_ROOT=$INSTALL_DIRECTORY