如果你是命令行重度使用者,学习 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。