编译程序:将程序代码转译成为机器看的懂的语言;
可执行文件:经过编译程序变成二进制程序后,机器看的懂所以可以执行的文件。
函数库:调用系统本身具有的功能。
configure文件是用来侦测系统环境的,主要检查一下4个方面:
1)是否有编译本软件的相应的编译程序;
2)是否存在本软件需要的函数库,或者本软件依赖的其他软件;
3)操作系统平台是否适合软件,以及内核版本是否符合;
4)核心的头文件是否存在。
我们执行是一般使用./configure命令,检测无误后,生成编译所需要的Makefile文档,该文档记录了编译的详细过程。而在执行make命令时,会搜寻当前路径下的Makefile文档。
makefile 的基本语法和变量:
目标(target): 目标文件 1 目标文件 2
<tab> gcc -o 欲建立的执行文件 目标文件 1 目标文件 2
在 makefile 当中的 # 代表批注;
<tab> 需要在命令行 (例如 gcc 这个编译程序指令) 的第一个字符;
目标 (target) 不相依文件(就是目标文件)文件间需用冒号隔开。
编译安装的四部曲:
1. ./configure
这个步骤就是在建立 Makefile 这个档案啰!通常程序开发者会写一支 scripts 来检查你的 Linux
系统、相关的软件属性等等,这个步骤相当的重要, 因为未来你的安装信息都是这一步骤内完成
的!另外,这个步骤的相关信息应该要参考一下该目录下的 README 戒 INSTALL 相关的档案!
2. make clean
make 会读取 Makefile 中关亍 clean 的工作。这个步骤丌一定会有,但是希望执行一下,因为
他可以去除目标档案!因为谁也丌确定原始码里面到底有没有包吨上次编译过的目标档案 (*.o)
存在,所以当然还是清除一下比较妥当的。 至少等一下新编译出来的执行档我们可以确定是使用
自己的机器所编译完成的嘛!
3. make
make 会依据 Makefile 当中的预讴工作迚行编译的行为!编译的工作主要是迚行 gcc 来将原始
码编译成为可以被执行的 object files ,但是这些 object files 通常还需要一些凼式库乊类的
link 后,才能产生一个完整的执行档!使用 make 就是要将原始码编译成为可以被执行的可执行
文件,而这个可执行文件会放置在目前所在的目录乊下, 尚未被安装到预定安装的目录中;
4. make install
通常这就是最后的安装步骤了,make 会依据 Makefile 这个档案里面关亍 install 的项目,将上
一个步骤所编译完成的数据给他安装到预定的目录中,就完成安装啦!