Makefile简介

Makefile是用于自动化编译和链接过程的文件,它定义了目标文件、依赖文件及其对应的命令。当源文件更新时,make工具会根据规则自动执行合适的编译命令。文中通过示例展示了如何编写Makefile,包括变量使用和自动推导功能,并提到了清理目标的规则。

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

一、Makefile的介绍

1、格式:

​ target:prerequisites

​ commmand

(1)target可以是目标文件,可以是Object

(2)prerequisites先决条件,要生成那个 target 所需要的文件或是目标

2、例子说明

test:main.o key.o
	cc -o test main.o key.o
main.o:main.c
	cc -c main.c
key.o:key.c
	cc -c key.c
clean :
	rm main.o

(1)mian.o执行文件

(2)main.c依赖文件

(3)cc - c main.c系统命令行,一定一个Tab键开头

(4)当main.c的修改时间比main.o修改时间更新,或者main.o不存在,make就会执行后续定义的命令

(5)clean是一个动作名,没有依赖文件,要想执行需要make + 动作名,如make clean,常用于与编译无关的动作,如打包、备份等

3、make是如何工作的

(1)默认下输入make,会在当前目录寻找名字叫“Makefile”或“makefile”的文件

(2)如果找到,它会找文件的第一个目标文件,并把这个文件当成最终的目标文件,如test

(3)如果test不存在,或者test所依赖的后面的.o文件的修改时间比test新,那么就会执行后面所定义的命令,来生成test

4、makefile中使用变量

(1)声明变量

	objects = mian.o key.o

(2)变量的使用

	test:$(objects)  
		cc -o test $(objects)  

5、make的自动推导

(1)make可以自动推导文件以及文件依赖后面的命令,不写是make会自己推到命令

(2)

.PHONY:clean
clean:
	rm test

.PHONY表示clean是个伪目标

(3)不成文的规定clean都是放到文件最后,放到开头clean会变成默认目标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值