1. 什么是make和configure
make命令主要是用来简化编译过程。
make执行时,会在当前目录下搜索 Makefile( or makefile) 文件,
而Makefile里面记录了源码如何编译的详细信息。
make会自动判断源码是否经过了变动了而自动更新执行文件。
软件开发商通常都会写一个检测用户操作环境的程序,就是configure 或 config, 运行检测完毕后会主动建 Makefile 文件。
2. make命令好处
- 简化编译时所需要执行的命令。
- 编译完成后,如果修改了某个源码文件,则 make 只会针对被修改的文件进行编译,其他的目标文件不会被改变。
- 重新编译只会更新(update)操作,
3. Makefile语法
语法:
目标(target): 目标文件1 目标文件2
<tab> gcc -o 欲新建的可执行文件 目标文件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.
[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 选项, 将上一步编译完的数据安装到默认目录中。