質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

Q&A

2回答

7129閲覧

make, make installのちがいについて

rgbgy

総合スコア11

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

0グッド

0クリップ

投稿2017/07/22 04:14

自分の認識は下記です
・configure
→ライブラリやコンパイラ、cpuやアーキテクチャ等を収集し、makefileを作成する。

・make
→コンパイルする

・make install
→コンパイルしたものを配置する。

なのですが、make install時にもライブラリの確認などはしているようですし、
ただ配置しているだけでは無いように見えます。
いったいmake installはどこからどこまでをやっているのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「make install」でライブラリの確認など行っていないと思いますが、基本的に各プロジェクトで自由に動作の変更は行えるはずですし、phpがどのような動作をしているかはわかりません。

ついでにですが。

・make
必要であればコンパイルする。

・make install
「make」を実行し、その後にコンパイルしたものを配置する。

(この言い方も細かい点は違っていますが、そこまで詳しくないので)
つまり、「make; make install」を実行すると、「make」は2回実行されますが、
2回めのmakeは「直前にコンパイルされているので、必要がない」ので、コンパイルはされません。
逆に言うと、「make install」だけ行っても、ある条件で(オブジェクトファイルがない、日付が古い、など)コンパイルが走るおそれもあります。

何で一般的に「make; make install」をするように言っているかは覚えていませんが、
「make」は一般ユーザで、「make install」はスーパーユーザで行うのが慣例だから
分けて実行しろ、だったかな?


なお、複数台にインストールしたいがビルドする回数は抑えたいのであれば、

./configure make make DESTDIR=/path/to/temp install

とすると、「/path/to/tmp」以下にインストールイメージが作成されるので、それをコピーする、
というやり方もあります。

投稿2017/07/24 12:44

katsuko

総合スコア3471

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

make install時にもライブラリの確認などはしているようですし、

そんなことは無いと思いますが、何故そう思いましたか?

投稿2017/07/23 11:32

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rgbgy

2017/07/24 00:31

phpのインストールを、makeまでをあるサーバでやって、 それを同じ構成の異なるサーバにコピーして、それぞれmake installをしました。 その時、一部構成の異なるサーバがあり、ライブラリが足らないとエラーが出て失敗したからです。 まあmakefileを見ろという話なんですが、そこまでまだ理解できておらず、 あと一般的なmake installのルールみたいのがあればと思い、質問しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問