Makefile学习(一)[第二版]

本文详细介绍了Makefile的基本概念和规则,包括目标、依赖、命令,展示了从简单到复杂的Makefile示例。此外,还讨论了Makefile中的变量使用,以及如何利用隐含规则和模式规则生成多个可执行文件。通过阅读,读者可以掌握如何编写和使用Makefile进行自动化编译。
摘要由CSDN通过智能技术生成

简介

1)make:利用 make 工具可以自动完成编译工作。这些工作包括:如果仅修改了某几个源文件,则只重新编译这几个源文件[make通过比对相应的.c文件与.o文件的时间];如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。利用这种自动编译可大大简化开发工作,避免不必要的重新编译。

2)Mackfile:make工具通过一个称为 Mackfile 的文件来完成并自动维护编译工作。Mackfile文件描述了整个工程的编译、连接等规则

 

Mackfile基本规则

Target ...: Dependencies ...

Command ...

 

说明:

1)目标(TARGET):即最终想要产生的文件,如:可执行文件,目标文件或中间文件等;目标也可以是要执行的动作,如clean,也称为伪目标。

2)依赖(DEPENDENCIES):为了产生目标文件而依赖的文件列表,一个目标通常依赖于多个文件。

3)命令(COMMAND):是make执行的动作(shell命令或是可在shell下执行的程序,如echo)。注意:每个命令行的起始字符必须为TAB字符

如果DEPENDENCIES中有一个或多个文件更新的话,COMMAND就要执行,这就是Makefile最核心的内容.

 

简单的Mackfile示例

 

#1 最简单

hello:

gcc -o hello hello.c

 

#2 稍微复杂

hello:hello.o

gcc -o hello hello.o

 

hello.o:

gcc -o hello.o -c hello.c

 

#3 进一步完善

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值