简单的写一个makefile
MakeFile
什么是MakeFile?很好理解,是一种规则,什么规则呢?顾名思义:生成文件的规则
这是一条基本语法(伪代码)
1 | 目标:依赖 |
三个要素:
- 目标
- 需要的结果
- 依赖
- 执行中需要的文件
- 指令
- 执行的操作代码
make指令执行的顺序模式是:自顶向下,典型的树状结构
可以理解为,执行最顶部的目标生成规则,根据当前目标所需的依赖向下查找依赖的生成规则。
最终目标生成规则一般都写在最上方,第一条
简单看一个简单的makefiiewe文件的简单编写伪代码
伪代码
makeFile文件的简单的编写格式如下
1 | target=最终文件名 |
需要注意的
自动变量
1 | $<:规则中的第一个依赖(就是子文件1) |
每次生成的会对子依赖进行检查是否有修改
函数的使用
1 | $(wildcard ./*.c) |
删除之前生成的子文件,因为不是我们的最终目标,是临时的文件,需要手动删除那不如加条目标指令进行删除。
1 | clean: |
makefile加入该删除代码后
1 | make clean |
举例验证:加入一个hello目标
1 | hello: |
在终端执行:就会只执行hello目标的内容
1 | make hello |
将目标声明为伪目标
1 | .PHONY:clean |
而加入-rm的作用是
当出现报错无法执行是,忽略该报错执行下一条命令语句
还有更多函数和编写细节,用到了的时候再说罢。
小结
给我的感觉就是一个类脚本的语言,可以将不止是 C++ or JAVA 或者其他语言的项目,集成方便的进行编译的或者其他操作,挺有意思的.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 icrad的博客!