makefile/make介绍
所谓makefile其实就是一个自动化编译工具,可以在Linux环境下,实现和在window系统下一样便捷的自动编译工具,大大提高在Linux系统下开发效率。
make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。make是一条命令,makefile是一个文件,两个搭配使用,完成项目自动化构建。
基础概念:
依赖关系还可以细分
通过这样我们就直接写一个make就能生成执行文件,其实就是简化了敲指令的环节。
使用了还得有清理。我们需要用一个phony来生成一个伪目标。
学会这两样我们就能进行最简单的自动化编译代码。
makefile/make原理
![](https://i-blog.csdnimg.cn/direct/e405bb37aec64727af88aa1a3b50cfb4.png)
原理一
就是说的我们上面的东西,为什么phony会放在后面。
原理二
其实就是如果我们代码中有报错是就不会执行makefile的下一步。
正常情况应该是这样的
但是当我们将代码故意弄错少个分号;再执行代码,就会报错。
后面的指令就不会执行。
原理三
其实就是在解释这种指令
然后执行的时候就类似于这样:
会生成所有中间文件
生成多个文件
其实就是做了对应的替换,就是让可用性变高了,只需要在bin和src做替换,全部的文件名就做了替换。
makefile生成多个可执行程序
![](https://i-blog.csdnimg.cn/direct/c6636475c3eb4660901e11c1aa2a0d01.png)
我们这样写只会有一个可执行程序
这是侯我们可以这样操作,弄一个为目标只写目标文件,依赖方法,非常的喵~