makefile语法
目标:依赖文件
(tab)命令1
命令2
正点原子例程Makefile文件如下:
main:main.o input.o calcu.o
gcc -o main main.o input.o calcu.o
main.o:main.c
gcc -c main.c
input.o:input.c
gcc -c input.c
calcu.o:calcu.c
gcc -c calcu.c
clean:
rm *.o
rm main
编译链接:
make
清除.o文件和可执行文件:
make clean
引入变量
例如:变量objects等同于a.c b.c c.c
objects=a.c b.c c.c
main:$(objects)
gcc -o main $(objects)
main.o:main.c
gcc -c main.c
input.o:input.c
gcc -c input.c
calcu.o:calcu.c
gcc -c calcu.c
clean:
rm *.o
rm main
=最末尾赋值
:=前面赋值
?=先找前面有没有赋值,没有的话,就从后面赋值
+=添加字符
模式规则
"%“表示长度任意的非空字符串,”%.c"表示所有的以.c结尾的文件
%.o:%.c
引入自动化变量
“$<”
objects=a.c b.c c.c
main:$(objects)
gcc -o main $(objects)
%.o:%.c
gcc -c $<
clean:
rm *.o
rm main