linuxソフトウェアコンパイルインストール:makeとconfigure
1.makeとconfigureとは
makeコマンドは主にコンパイルプロセスを簡略化するために使用されます.
makeが実行されると、現在のディレクトリの下でMakefile(or makefile)ファイルが検索されます.
Makefileにはソースコードのコンパイル方法の詳細が記録されています.
makeは、ソースコードが変動したかどうかを自動的に判断して実行ファイルを自動的に更新します.
ソフトウェア開発者は通常、ユーザーの操作環境を検出するプログラムを書きます.configureまたはconfigです.検出が完了すると、Makefileファイルが自動的に作成されます.
2.makeコマンドのメリットコンパイルに必要なコマンドを簡略化します. コンパイルが完了すると、ソースファイルが変更された場合、makeは変更されたファイルのみをコンパイルし、他のターゲットファイルは変更されません. 再コンパイルは更新(update)操作のみ、 3.Makefile構文
構文:
ターゲット(target):ターゲットファイル1ターゲットファイル2
gcc-o新規作成したい実行可能ファイルターゲットファイル1ターゲットファイル2
makefileは変数を使用できます
$@:現在の目標を表します
gcc -o $@ ${OBJS}
4.インストール基本手順
1. ./configure
Makefileファイルの作成
2. make clean
ターゲットファイルを削除し、
3. make
Makefileに従ってコンパイルします.
現在のディレクトリに配置され、所定のインストールディレクトリにインストールされていない実行可能ファイルを生成します.
4. make install
Makefileのinstallオプションに従って、前のステップでコンパイルしたデータがデフォルトディレクトリにインストールされます.
アドレス:http://blog.csdn.net/yonggang7/article/details/46841937
makeコマンドは主にコンパイルプロセスを簡略化するために使用されます.
makeが実行されると、現在のディレクトリの下でMakefile(or makefile)ファイルが検索されます.
Makefileにはソースコードのコンパイル方法の詳細が記録されています.
makeは、ソースコードが変動したかどうかを自動的に判断して実行ファイルを自動的に更新します.
ソフトウェア開発者は通常、ユーザーの操作環境を検出するプログラムを書きます.configureまたはconfigです.検出が完了すると、Makefileファイルが自動的に作成されます.
2.makeコマンドのメリット
構文:
ターゲット(target):ターゲットファイル1ターゲットファイル2
[gang@www]$ vim Makefile
hello: hello.o thank_you.o
gcc -o hello hello.o thank_you.o
clean:
rm -f hello hello.o thank_you.o
cleanターゲットファイルの削除 [gang@www]$ make clean
rm -f hello hello.o thank_you.o
[gang@www]$ make
cc -c -o hello.o hello.c
cc -c -o thank_you.o thank_you.c
gcc -o hello hello.o thank_you.o
[gang@www]$ ./hello
Hello World.
Thank you.
makefileは変数を使用できます
[gang@www]$ vim Makefile
OBJS = hello.o thank_you.o
CFLAGS = -Wall
hello: ${OBJS}
gcc -o hello ${OBJS}
clean:
rm -f hello ${OBJS}
変数の割り当て=両側にスペースがあり、$@:現在の目標を表します
gcc -o $@ ${OBJS}
4.インストール基本手順
1. ./configure
Makefileファイルの作成
2. make clean
ターゲットファイルを削除し、
3. make
Makefileに従ってコンパイルします.
現在のディレクトリに配置され、所定のインストールディレクトリにインストールされていない実行可能ファイルを生成します.
4. make install
Makefileのinstallオプションに従って、前のステップでコンパイルしたデータがデフォルトディレクトリにインストールされます.
アドレス:http://blog.csdn.net/yonggang7/article/details/46841937