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
[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 选项, 将上一步编译完的数据安装到默认目录中。

相关内容