1.makefile是什么?
\qquad makefile是linux下的一个代码管理工具。
2.makefile文件的命名
\qquad makefile的命名:首字母大写即:Makefile;或者全部小写:makefile。
3.makefile文件的规则
\qquad 规则三要素:目标,依赖,命令。举例:
vim makefile
#在makefile文件中,基于动态库的编译main.c源文件
main:main.c ./lib/libadd.so ./include
gcc main.c ./lib/libadd.so -o main -I ./include
make #在makefile文件目录下,执行gcc main.c ./lib/libadd.so -o main -I ./include
\qquad 当makefile中存在多条规则,第一条规则,是最后执行的。举例:
main:main.o head1.o
gcc main.o head1.o -o main
main.o:main.c
gcc -c main.c
head1.o:head1.c
gcc -c head1.c
4.makefile中的变量
\qquad makefile中的变量的定义和使用,举例
var=main.o head1.o
target=main
$(target):$(var)
gcc $(var) -o $(target)
%.o:%.c
gcc -c $< -o $@
\qquad
makefile中的自动变量,只能在命令中使用
$<:规则中的第一个依赖
$@:规则中的目标
$^:规则中的所有依赖