Makefile的编写快速入门

本文详细介绍Makefile的基础知识,包括Makefile的编写规则、简单及通用Makefile的编写方法,并提供了一个可应用于多个项目的通用Makefile模板,方便读者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在学习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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值