「Linuxコマンド - Make」の版間の差分
ナビゲーションに移動
検索に移動
24行目: | 24行目: | ||
== インクルードディレクトリの変更 == | == インクルードディレクトリの変更 == | ||
<code>make</code>コマンドの実行時において、参照するライブラリとヘッダファイルを指定する場合、<code>LDFLAGS</code>オプションと<code>CFLAGS</code>オプションを付加する。<br> | |||
<br> | <br> | ||
以下の例では、ホームディレクトリのlibディレクトリとincludeディレクトリを指定している。<br> | 以下の例では、ホームディレクトリのlibディレクトリとincludeディレクトリを指定している。<br> | ||
34行目: | 34行目: | ||
export C_INCLUDE_PATH=<C言語のインクルードディレクトリ> | export C_INCLUDE_PATH=<C言語のインクルードディレクトリ> | ||
export CPLUS_INCLUDE_PATH=<C++のインクルードディレクトリ> | export CPLUS_INCLUDE_PATH=<C++のインクルードディレクトリ> | ||
<br><br> | |||
== インストールディレクトリの変更 == | |||
<code>make install</code>コマンドの実行時において、パッケージ内部のディレクトリ構造を変更せずに別の場所にインストールする場合、<code>DESTDIR</code>オプションを付加する。<br> | |||
例えば、インストールしたパッケージをtarballにして、別のPCにコピーする場合等に使用する。<br> | |||
<br> | |||
以下の例では、<code>configure</code>コマンドの実行時のプレフィックスとして/hogeディレクトリ、<br> | |||
<code>make install</code>コマンドでは、ホームディレクトリをインストール先のディレクトリとしてインストールしている。<br> | |||
<br> | |||
これにより、インストールディレクトリは、/home/<ユーザ名>/hogeディレクトリなる。<br> | |||
./configure --prefix=/hoge | |||
make -j $(nproc) | |||
make DESTDIR=/home/<ユーザ名> install | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]] |
2021年9月20日 (月) 15:35時点における版
概要
Makeコマンドの基本
コンパイラの変更
コンパイラを指定する場合、一般的に使用されるオプションはCC
、GCC
、CXX
、CCX
等があるが、
Makefileファイルを確認して、どの変数が使用されているか確認する必要がある。
Makefileファイルが定義に沿って記述されている場合、C言語コンパイラを指定する時はCC
、C++コンパイラを指定する時はCXX
を使用する。
make CC=/home/<ユーザ名>/InstallSoftware/GCC/gcc-10_2_0/bin/gcc-10.2 または make CXX=/home/<ユーザ名>/InstallSoftware/GCC/gcc-10_2_0/bin/g++-10.2
また、configure
コマンドを実行する時に指定することもできる。
configure
コマンドは、生成されるMakefileファイルに対して、新しいCC値またはCXX値を自動的に組み込む。
./configure CC=/home/<ユーザ名>/InstallSoftware/GCC/gcc-10_2_0/bin/gcc-10.2 --prefix=<インストールディレクトリ> または ./configure CXX=/home/<ユーザ名>/InstallSoftware/GCC/gcc-10_2_0/bin/g++-10.2 --prefix=<インストールディレクトリ>
インクルードディレクトリの変更
make
コマンドの実行時において、参照するライブラリとヘッダファイルを指定する場合、LDFLAGS
オプションとCFLAGS
オプションを付加する。
以下の例では、ホームディレクトリのlibディレクトリとincludeディレクトリを指定している。
make LDFLAGS="-L/home/<ユーザ名>/lib" CFLAGS="-I/home/<ユーザ名>/include" または make LDFLAGS="-L/home/<ユーザ名>/lib" CPPFLAGS="-I/home/<ユーザ名>/include"
インクルードディレクトリの設定を永続化する場合は、.profileファイルまたは.bashrcファイルに、以下の設定を追記する。
export C_INCLUDE_PATH=<C言語のインクルードディレクトリ> export CPLUS_INCLUDE_PATH=<C++のインクルードディレクトリ>
インストールディレクトリの変更
make install
コマンドの実行時において、パッケージ内部のディレクトリ構造を変更せずに別の場所にインストールする場合、DESTDIR
オプションを付加する。
例えば、インストールしたパッケージをtarballにして、別のPCにコピーする場合等に使用する。
以下の例では、configure
コマンドの実行時のプレフィックスとして/hogeディレクトリ、
make install
コマンドでは、ホームディレクトリをインストール先のディレクトリとしてインストールしている。
これにより、インストールディレクトリは、/home/<ユーザ名>/hogeディレクトリなる。
./configure --prefix=/hoge make -j $(nproc) make DESTDIR=/home/<ユーザ名> install