Makefile的编写快速入门


在学习Linux下使用C语言编程的时候,我们需要为自己的项目编写一个Makefile文件,利用Linux中make命令工具来编译生成一个可执行程序,但是,在更换项目的同时,我们又需要重新编写Makefile文件,所以我们需要一种通用的Makefile文件,每个项目都可以使用同一Makefile文件。

一、Makefile编写须知

1.	使用make---Linux自带的构建器
2.	Makefile文件命名:Makefile/makefile
3.	Makefile中的规则:
	.目标、依赖、命令
4.	Makefile的写法:
	目标:依赖
	(tab缩进)命令	
5.	自动变量
	$@:当前规则中的目标
	$<:当前规则中的第一个依赖
	$^:当前规则中的所有依赖
	只能在规则的命令中使用
6.	模式匹配
	%.o:%.c
		%.o所有.o文件
		%.c所有.c文件

二、简单的Makefile的编写

target:x.c y.c z.c
	gcc x.c y.c z.c -o target

三、通用Makefile的编写

#生成目标需要的所有依赖
obj = x.o y.o z.o
target = app

$(target):$(obj)
	gcc $(obj) -o $(target)

#用模式匹配生成每一个依赖
%.o:%.c
	gcc -c $< -o $@

#.PHONY声明伪目标,rm之前的-为忽略执行命令产生的错误继续往下执行
#-f为强制删除,不提示找不到某文件的信息
.PHONY:clean
clean:
	-rm $(obj) $(target) -f

在更换项目时只需要更改相应的依赖(更改obj的值),再进行make即可。
伪目标声明是为了文件目录不会有对应名称的文件对meke构建造成影响。

四、使用

1.make
2.make clean

猜你喜欢

转载自blog.csdn.net/qq_32203275/article/details/85029903