Makefile学习笔记(一)

本文是Makefile学习笔记的第一部分,主要介绍了Makefile在Linux开发中的重要性,以及显式规则的概念。显式规则定义了源码编译规则,如`main.o: main.cpp`表示`main.o`依赖于`main.cpp`。此外,还讲解了`make`命令的常用选项,如`-k`、`-n`和`-f`,并提供了使用这些选项的例子。最后,通过一个实例展示了如何利用伪目标`all`来创建多个目标文件。
摘要由CSDN通过智能技术生成

Makefile学习笔记(一)

概述

​ Makefile在Linux环境开发中时常被用到,虽然有各种功能强大的IDE帮我们做了make这一步,但很多开源代码依旧还在使用makefile,makefile定义了整个项目的编译规则,了解makefile不仅可以加深对于源码结构的理解,也能从makefile文件中了解到源码之间的依赖关系以及编译次序。

显式规则

​ Makefile中最常见的就是显式规则,即由Makefile编写者显式指定的源码编译规则。Makefile文件由一组或者多组依赖关系和规则组成,每个依赖关系由一个目标及该目标所依赖的源文件组成,给个简单的例子:

main.o: main.cpp

​ 上面的表达表示了目标main由其依赖的main.cpp文件组成,目标一般是一个单独的可执行文件,这个例子表达的仅仅是一个依赖关系,仅有依赖关系对于源码的编译并无用。这时就需要规则了,规则是详细表达依赖关系具体创建过程的一组语句,更具体点,也可以说是一些shell命令。对于上面的依赖关系,其完整的表达形式应如下:

main.o: main.cpp

​ clang++ -o main.o -c main.cpp

​ 编译器gcc/g++还是clang/clang++都无所谓,对于makefile,只要依赖关系下的规则能正确生成相应的可执行文件即可。

make命令常用选项及参数

​ m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值