Linux项目自动化构建工具——make和makefile

在这里插入图片描述

在这里插入图片描述

一.基本使用

首先创建一个mycode.c文件,接着使用vim写几行代码。

在这里插入图片描述

在这里插入图片描述

接着创建一个makefile文件(这里的m大写小写均可但需要在当前目录下),并使用vim进行操作。

在这里插入图片描述

在这里插入图片描述

第一行是依赖关系项,将mycode.c编译成mycode。第二行是依赖方法,就是具体如何将其编译成mycode。第三行clean是我们自定义的一个依赖关系,右侧没有任何东西表明它不依赖任何项,下面一行就是写自定义的命令(注意前面都使用tab缩进)。

扫描二维码关注公众号,回复: 15672967 查看本文章

在这里插入图片描述

这样在make时就会直接执行编译命令。

在这里插入图片描述

同理使用make clean就将mycode这个可执行程序删除了。

上面的make其实相当于make mycode。make会自动执行makefile里的第一个命令,所以如果将clean放在第一行那么make就执行的是clean命令。

二.make并不是每一次都会进行编译

这里我们连续使用make进行编译。

在这里插入图片描述

可以看到只有在第一次使用make时它才进行编译,这是make指令的特性,为了避免无意义的重复编译,make被规定在源文件没有发生改变时,不会进行重复编译。也就是说make会根据源文件和目标文件的新旧来判断是否需要重新进行编译。

如果我就是想让它重复编译呢?

这样就需要在makefile文件里加上.PHONY:

在这里插入图片描述

在这里插入图片描述

三.原理

在这里插入图片描述

四.特殊符号

有时候为了简便我们在写依赖关系时可以使用$@(冒号左边)和 $^(冒号右边)来代替。

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_73790767/article/details/131537946