📒博客首页:何与非的博客
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
❤️ 期待一起交流!
🙏作者水平很有限,如果发现错误,求告知,多谢!
🌺有问题可私信交流!!!
系列文章目录
Makefile步步为营第一步,简单玩玩
Makefile步步为营第二步,来点花活儿
Makefile步步为营第三步,来点真实的
Makefile步步为营第四步,整点动静
Makefile概述与一个简单的例子
这是文章的第一节,简单介绍了make和Makefile,并且提供一个简单的例子进行展示,在之后的文章中也将使用这个例子进行展示。
make和Makefile
在Windows下编程时,我们可以使用各种IDE省去手动进行编译链接的操作,但是在Linux下,经常只有黑黑的窗口显示在你面前,这时我们无法使用IDE来进行这些操作。不过还好Linux提供了make工具来帮助我们进行“自动化”。简单来说,make 是一个命令工具,它解释 Makefile 中的指令(应该说是规则)。Makefile 文件中描述了整个工程所有文件的编译顺序、编译规则。 我们把这些编译、链接规则写好在Makefile文件中后,在终端命令行中输入一个make,代码文件就自动生成了可执行的程序。
makefile规则介绍
一个简单的 Makefile 描述规则组成:
TARGET... : PREREQUISITES...
COMMAND
...
...
target:规则的目标。通常是最后需要生成的文件名或者为了实现这个目的而必需的中间过程文件名。可以是.o 文件、也可以是最后的可执行程序的文件名等。另外,目标也可以是一个 make执行的动作的名称,如目标“clean”,我们称这样的目标是“伪目标”。
prerequisites:规则的依赖。生成规则目标所需要的文件名列表。通常一个目标依赖于一个或者多个文件。
command:规则的命令行。是规则所要执行的动作(任意的 shell 命令或者是可在 shell 下执行的程序)。它限定了 make 执行这条规则时所需要的动作。
一个规则可以有多个命令行,每一条命令占一行。
一个简单的例子
在这节和以后的各节里,我们都会使用这个例子里的代码文件来进行展示。以下是文件结构: