前言
对于一个大型项目,可能会涉及到很多文件,例如头文件,源文件等等。在VS中,我们只需在其设定的目录下,新建对应文件然后进行编写即可,就可以得到可执行文件exe。但是仅仅只是再IDE下可以,但是会在Linux环境下,怎么多文件编译、链接,这倒是个问题。VS作为一个集成开发环境,自然而然帮你做好了这一切,但是在Linux中,这些都是需要自己做的。而正因为做这些很麻烦,且不好理解,所以make,makefile应用而生。
依赖关系和依赖方法
make是执行依赖关系和依赖方法的命令,makefile是维护该机制的文件,makefile里面保存的是什么?项目的依赖结构
通俗的来讲依赖关系是指:要生成A就必须先生成B,而依赖方法是指:怎样通过B生成A。
比如前述在gcc编译过程时,这几个文件就存在以下依赖关系和依赖方法(假设由hello.c
编译生成hello
)
hello
依赖hello.o
,依赖方法是gcc hello.o -o hello
hello.o
依赖hello.s
,依赖方法是gcc hello.s -o hello.o
hello.s
依赖hello.i
,依赖方法是gcc hello.i -o hello.s
hello.