「Linuxコマンド - Make」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
1行目: 1行目:
== 概要 ==
== 概要 ==


<br><br>
== makeのインストール ==
多くのLinuxディストリビューションでは、標準でmakeがインストールされている。<br>
もし、別途インストールする必要がある場合、ソースコードからmakeをインストールする。<br>
<br>
[https://ftp.gnu.org/gnu/make/ GNUソフトウェアの公式Webサイト]にアクセスして、makeのソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf make-<バージョン>.tar.gz
cd make-<バージョン>
<br>
makeをビルドおよびインストールする。<br>
mkdir build && cd build
../configure --prefix=<makeのインストールディレクトリ>
make -j $(nproc)
make install
<br>
~/.profileファイル等に、環境変数<code>PATH</code>を追記する。<br>
vi ~/.profile
<br>
# ~/.profileファイル
export PATH="/<makeのインストールディレクトリ>/bin:$PATH"
<br><br>
<br><br>



2022年12月12日 (月) 13:20時点における版

概要



makeのインストール

多くのLinuxディストリビューションでは、標準でmakeがインストールされている。
もし、別途インストールする必要がある場合、ソースコードからmakeをインストールする。

GNUソフトウェアの公式Webサイトにアクセスして、makeのソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf make-<バージョン>.tar.gz
cd make-<バージョン>


makeをビルドおよびインストールする。

mkdir build && cd build

../configure --prefix=<makeのインストールディレクトリ>
make -j $(nproc)
make install


~/.profileファイル等に、環境変数PATHを追記する。

vi ~/.profile


# ~/.profileファイル

export PATH="/<makeのインストールディレクトリ>/bin:$PATH"



Makeコマンドの基本



コンパイラの変更

コンパイラを指定する場合、一般的に使用されるオプションはCCGCCCXXCCX等があるが、
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