Linux Makefile文件详解(3)
Linux
$(CC)和$(CFLAGS)替代具体的值。
9. include 指令
Makefile 可以包含其他 Makefile,使用 include 指令。这样可以将 Makefile 分成多个模块,提高可维护性。
include common.mk
main: main.o utils.o
$(CC) -o $@ $^ $(CFLAGS)
10. PHONY 目标
有时候,我们需要定义一些不产生实际文件的目标,例如清理临时文件或执行一些特定的任务。
为了告诉 Make 这些目标不是文件名,可以使用 .PHONY 目标。
.PHONY: clean
clean:
rm -f *.o main
这个例子中,clean是一个 PHONY 目标,用于删除临时文件。
当构建一个软件项目时,make 工具可用于自动化编译过程,确保只有发生了改变的文件被重新编译。
make 使用一个名为 Makefile 的文件,其中包含了一系列规则和指令,描述了文件之间的依赖关系以及如何生成目标文件。
以下是一个简单的 Makefile 文件的结构和基本要素:
11. 基本结构
Makefile 文件由一系列规则和变量组成。每个规则描述了一个或多个目标文件的生成方式。基本结构如下:
# 注释以 '#' 开头
# 变量定义
CC = gcc
CFLAGS = -Wall
# 第一个规则是默认规则
all: target1 target2
# 规则:目标文件依赖的文件
# [tab] 指令(生成目标文件的命令)
target1: dependency1 dependency2
$(CC) $(CFLAGS) -o target1 dependency1 dependency2
target2: dependency3 dependency4
$(CC) $(CFLAGS) -o target2 dependency3 dependency4
12. 变量
在 Makefile 中,可以使用变量来存储和引用值。
在上述例子中,CC 和 CFLAGS 就是变量,分别存储编译器和编译选项。
13. 规则
规则由以下几部分组成:
- 目标(Target):描述生成的文件的名称。可以有多个目标,以空格分隔。
- 依赖关系(Dependencies):描述目标文件依赖的文件。如果依赖文件的内容发生变化,那么目标文件将被重新生成。
- 指令(Commands):描述如何生成目标文件的命令。指令前必须有一个制表符(
\t)。
14. 默认规则
第一个规则通常是默认规则,即在执行 make 命令时默认执行的规则。在上述例子中,默认规则是all: target1 target2。
15. 通配符
Makefile 支持通配符,用于匹配文件列表。常用的通配符包括 *(匹配任意字符)和 %(匹配任意字符序列)。
# 匹配所有以.c结尾的文件
sources = $(wildcard *.c)
相关阅读
-
windows无法访问指定设备路径或文件 Windows无法访问指定设备路径或文件
小编为大家讲一讲windows无法访问指定设备路径或文件的教程内容。当我们在使用Windows系统电脑时,有可能会遇到“windows无法访问指定设备路径或文件”的问题,很多小白用户不知道该如何解
-
任务管理器快捷按键 任务管理器快捷键大全
今天小编介绍任务管理器快捷键大全的IT知识,关于任务管理器快捷按键 任务管理器快捷键大全,一起来看看吧! 如果我们电脑太过卡顿,或者画面卡主以后,我们通常都会启用任务管理器来
-
风林火山win7旗舰版系统在哪下载 风林火山ghost win7旗舰版
今天为大家介绍风林火山win7旗舰版系统在哪下载方面的知识,关于风林火山win7旗舰版系统在哪下载 风林火山ghost win7旗舰版,接下来IT袋小编就来介绍。 我们在使用win7操作系统的时候,有的情
-
win11办公软件位置介绍 windows11办公软件在哪
今日重点为您介绍win11办公软件位置介绍的内容,关于win11办公软件位置介绍 windows11办公软件在哪,请看下面详细的介绍。 不少的IT袋网友都想在win11系统中使用办公软件,但是又不知道win11的


