makefile工具的使用,编写一个或多个文件!(简单易上手)

一、make 和 makefile 是什么

        1. make 是一个 命令。

        2. makefile 是一个 文件,可以自动化的构建项目。

        3. 编写 makefile 需要:

                (1)依赖关系

                (2)依赖方法

二、什么是依赖关系、什么是依赖方法

下面我简单写一个makefile,先别管里面的代码什么意思,我先解释什么是依赖关系、以及什么是依赖方法。

如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第1张图片

1. 依赖关系

依赖关系是红色圈起来的部分,如下图:

上图的依赖关系中:冒号(:)的左侧是目标文件,右边是依赖文件列表!记住是 依赖文件列表!

但是现在目前上面的文件列表只有一个!下面的是空!

依赖文件列表可以不依赖任何文件!

2. 依赖方法

依赖方法是蓝色圈起来的部分,如下图:

最上面的 makefile 中,看清楚!makefile 是 tab 键开始!!!

3. 那么 .PHONY 是什么?

这里的 .PHONY 是伪目标,类似 makefile 中的关键字,表明 clean 是一个伪目标。

总是会根据依赖关系,执行依赖方法,习惯:clean 设置 .PHONY

三、使用 makefile

我这里简单编写一个代码,然后用 make 来编译,前面开始将了 make 是命令!!!

如下图:

简答写了一个 test.cpp 文件

makefile工具的使用,编写一个或多个文件!(简单易上手)_第2张图片

而 makefile 中依然是如下内容:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第3张图片

这里我先把目录下的文件查看一下,如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第4张图片

那么 make 是命令怎么用?如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第5张图片

make 之后发现跟自己写的依赖方法是一样的,那么是不是执行了自己写的编译这个test.cpp文件的这条语句?查看一下,如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第6张图片

查看目录下面果然生成了一个 test 文件, 那么既然编译了,执行一下,如图:

这样就可以运行起来了!

那么编译好生成了可执行的 test 文件后,删除文件怎么删除?

那么 clean 就可以用上了,如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第7张图片

make clean 之后,也就执行了自己写的依赖方法。

四、扩展

那么肯定有人觉得编写一个 test.cpp 文件,还要在 makefile 文件里面写代码,一条命令不久好了?删文件也是一条命令不就好了?

是的!确实一条命令就可以了!

但是!!!那么如果你有很多文件呢? 命令行打一长串?一条一条打?那么删除呢?

这里在写一个例子,我这里就两个文件做一下对比,更多个文件的话,方法类似!!!

如下图:

test1.cpp 

makefile工具的使用,编写一个或多个文件!(简单易上手)_第8张图片

test2.cpp

makefile工具的使用,编写一个或多个文件!(简单易上手)_第9张图片

makefile

makefile工具的使用,编写一个或多个文件!(简单易上手)_第10张图片   

那么 make 之后是什么,如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第11张图片

可以看到,直接生成两个可执行文件,test1、test2, 运行一下,如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第12张图片

make clean 一下,如下图:

makefile工具的使用,编写一个或多个文件!(简单易上手)_第13张图片

all 不需要依赖方法,只维护依赖关系;

当识别到 all 依赖这两个关系的时候,会推导式的执行下面两个命令;

当all 的依赖关系满足了,要执行all 的依赖方法,但是 all 没有! 至此 makefile 执行结束!
 

以上就是 makefile 工具的简单是使用!!!

你可能感兴趣的:(Linux,linux,vim,编辑器,c++)