Makefile 简易教程

Makefile是一种用于自动化编译和构建项目的文件,主要在Unix和Linux环境中使用。它包含规则定义目标、前置条件及执行命令。当运行`make`命令时,根据Makefile中的指令进行操作。例如,规则包括目标、前置条件和命令,如清理、测试和编译任务。了解和运用Makefile能有效提高开发者的工作效率。

如果你是命令行重度使用者,学习 Makefile 将可以大大提高你的开发效率,下面简单介绍一下 Makefile 的知识和使用方式。

Makefile 是一种包含一组指令来编译和构建软件项目的文件。

Makefile 文件通常包含一组规则和依赖关系,以指定如何将源代码编译成可执行文件或库。

当执行 make 命令时,make 工具将解析 Makefile 文件,并根据定义的规则和依赖关系来执行所需的操作,以生成最终的目标文件。

Makefile 是一个常用的构建工具,尤其在 Unix 和 Linux 系统上广泛使用。

Makefile文件由一系列规则(rules)构成。每条规则的形式如下。

规则语法

target ... : prerequisites ...
    command
    ...

上面第一行冒号前面的部分,叫做"目标"(target),冒号后面的部分叫做"前置条件"(prerequisites);

第二行必须由一个tab键起首,后面跟着"命令"(commands)。

"目标"是必需的,不可省略;"前置条件"和"命令"都是可选的,但是两者之中必须至少存在一个。

每条规则就明确两件事:构建目标的前置条件是什么,以及如何构建。

下面就详细讲解,每条规则的这三个组成部分。

示例文件

.PHONY: test #.PHONY 伪目标,代表无论 test 文件或目录是否存在都会执行 make test 命令
txt = Hello World #Makefile 允许使用等号自定义变量。

all: clear test php #当执行 make 不带其他命令时,默认执行第一条

python:
    -python vv #命令前加 - 代表执行错误继续执行下面的命令
    php -v #井号(#)在Makefile中表示注释。

php:
    @php -v #正常情况下,make会打印每条命令,然后再执行,这就叫做回声(echoing)。在命令的前面加上@,就可以关闭回声。

clear:
    clear

test:
    @echo $(txt) #使用变量
    @echo =============

这是一篇比较简洁的文章,希望可以让您对 Makefile 有一个基本了解。

Makefile 教程:https://seisman.github.io/how-to-write-makefile/index.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值