关于Makefile
来源:互联网 发布:网络五大鬼畜歌曲视频 编辑:程序博客网 时间:2024/05/19 17:49
什么是Makefile呢?Makefile是一种配置文件,Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,Makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为Makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。会不会写Makefile,从侧面说明了一个人是否具备大型工程的能力。Makefile带来的好处就是——自动化编译,只需要一个make命令整个工程自动编译,大大提高了软件的开发效率。
make命令执行时需要一个Makefile文件,用来告诉make命令需要怎样去编译和链接程序。那什么叫编译什么又叫链接呢?一般来说,c/c++生成可执行文件,首先要把源文件编译成中间代码文件,在Windows下是 .obj文件,在Linux/Unix下是 .o文件,这个过程叫做编译(compile)。然后在把大量的 .o文件(Linux下)或者 .obj文件(Windows下)合成执行文件,这个过程叫做链接(link)。现在大概知道Makefile的作用了,那么现在让我们来认识一下如何写Makefile文件,也就是它的规则。
#表示注释
VAR=name #表示定义了变量VAR,并赋值为name
VAR+=is #表示在前面的值后面加is
VAR?=nameis #表示如果VAR没有定义则定义变量VAR并且赋值为nameis,如果VAR已经定义则使用之前的值
下面先看一段简短的Makefile
target: depend1 depend2 depend3
gcc hello.c
target: depend1 depend2 depend3 ....#target是目标,make执行时就会去找相应的目标,具体使用时可以在make+目标(如make target)并不一定就是叫target,是自定义的,你可以定义为别的名字,但最好能体现它的功能,比如这里的是做了编译的工作,就可以把target改为compile,这样就很明了。因为Makefile可以有很多的目标,make+不同的目标名,就可以做不同的事情了,当你只敲make的时候它就只会执行头目标,什么是头目标?就是第一个目标。好,target说完了,那后面的那些depend123是什么呢?这叫做依赖。是用来说明目标文件是由哪些文件生成的。然后就是下一行gcc hello.c,这叫动作,就是做的事情,最需要注意的是动作前面必须是TAB键,可以有多行动作。
- 关于makefile
- 关于Makefile
- 关于Makefile
- 关于Makefile
- 关于Makefile
- 关于Makefile
- 关于makefile
- 关于makefile
- 关于makefile
- 关于Makefile
- 关于Makefile
- 关于makefile(转)
- 关于makefile的使用
- 关于Makefile的学习
- 关于Makefile 解惑
- 关于makefile(2)
- 关于makefile中的参数
- 关于configure和Makefile
- mysql union 和 union all 用法和区别
- 慕课网上Echarts3教程的代码地址
- myeclipse控制台错误查看
- 从码云上导入maven项目到eclipse(解决导入maven项目不自动构建的问题)
- 数据库面试常问的一些基本概念
- 关于Makefile
- Tomcat根目录下work文件夹的作用之jsp在tomcat下的工作原理
- 学习廖雪峰 Git 总结
- 理解面向对象(二)
- (win32)python3.5 安装scrapy
- 实验二 创建学生成绩-顺序表
- 最近 5 年 133 个 Java 面试问题列表(上)
- JAVA基础-01
- c++栈