Linux---make和makefile
一、基本概念
1.是什么
make是一条命令,makefile是一个文件
2.对应
在vs中按一下f5就能运行代码,在Linux中make就相当于f5,使用makefile来封装从而实现我, 想要的功能
3.使用
①创建makefile文件
②编辑makefile
解释:test.exe依赖于test.c下边是gcc编译
③make
输入make自动实现makefile中编译
二、make和makefile
1.依赖关系和依赖方法
test.exe依赖于test.c,gcc是依赖方法
2.模拟编译过程
3.makefile推导过程
4.清理工作
①细节1:依赖关系必须存在,依赖文件列表也可以为空(像clean这样的)
②细节2:以来方法可是是任何指令
③细节3:clean目标是利用make的自动推导能力让他执行rm命令,在构建工程的视角,看起来就是清理项目,本质就是删除不需要的文件
④细节4:make命令后边可以跟目标名,后边跟谁就解析谁的依赖方法,且默认只会推导一条完整的推导链路,且默认推导第一个。如果把clean放前边make就会执行clean
三、 .PHONY
1.本质
总是被执行的
2.功能
有.PHONY时,可多次执行
无.PHONY时
3.底层
文件 = 文件内容+文件属性
Assess:文件被访问的时间,有刷新次数,不是每次查看都更新
Modify文件内容
change文件属性
没有.PHONY时Modify修改的时间,源文件必须比可执行文件新才可以编译
.PHONY可以让gcc或者对应的命令,忽略MOD时间对比新旧,从而达到可以无限执行
四、makefile的关键字
1.@
在命令前加执行不回显
2.替换
该内部符号只需要改上边就行了
3.多个文件的处理
①建立多个文件
②
③通用