make命令进行宏编译
2016-07-22 13:26
344 查看
如果我的执行文件要包含四个源文件,那么我得做以下几件事:分别对四个源文件进行gcc -c目标文件编译,产生四个.o文件;再将这四个目标文件通过gcc -o进行链接成为可执行文件,同时加入libm函数库,也就是-lm。
可以看出编译的过程需要很多的操作,而且如果要重新编译的话,则上述的流程得重新来一遍,光是找出这些命令就够烦人得了,是否可以一个指令完成上面所有操作呢?
make命令就可以完成,在这里要涉及到make的介绍,在我之前的博文中有写。这里不再赘述
假设这四个源代码文件名为:1.c;2.c;3.c;4.c
要将这四个文件编译成一个可执行文件main
首先编写makefile这个规则文件,内容要制作出main这个可执行文件:
vim makefile
在mainfile里面,我们只需要写出main需要的目标文件,结果make会去主动判断每个目标文件相关的源码文件,并直接给予编译,最后在直接进行链接的操作。
基本的makefile规则是这样的:
目标(target):目标文件1 目标文件2
<tab> gcc -o 欲新建的可执行文件 目标文件1 目标文件2
特别留意的是,命令行必须要以tab按键作为开头才行
如果想要两个以上的执行操作时,例如执行一个命令就直接清楚所有的目标文件和可执行文件
然后命令输入make clean 通过make以clean为目标
如果想建立main文件的话,执行make main即可
可以看出编译的过程需要很多的操作,而且如果要重新编译的话,则上述的流程得重新来一遍,光是找出这些命令就够烦人得了,是否可以一个指令完成上面所有操作呢?
make命令就可以完成,在这里要涉及到make的介绍,在我之前的博文中有写。这里不再赘述
假设这四个源代码文件名为:1.c;2.c;3.c;4.c
要将这四个文件编译成一个可执行文件main
首先编写makefile这个规则文件,内容要制作出main这个可执行文件:
vim makefile
在mainfile里面,我们只需要写出main需要的目标文件,结果make会去主动判断每个目标文件相关的源码文件,并直接给予编译,最后在直接进行链接的操作。
基本的makefile规则是这样的:
目标(target):目标文件1 目标文件2
<tab> gcc -o 欲新建的可执行文件 目标文件1 目标文件2
特别留意的是,命令行必须要以tab按键作为开头才行
如果想要两个以上的执行操作时,例如执行一个命令就直接清楚所有的目标文件和可执行文件
然后命令输入make clean 通过make以clean为目标
如果想建立main文件的话,执行make main即可
相关文章推荐
- LeetCode 26. Remove Duplicates from Sorted Array
- iOS开发中<null>的处理
- swift笔记
- iOS开发~视频处理
- 快速编写“专家级”makefile(4.打造更专业的编译环境——实现库链接)
- cmd下命令提示符下杀进程的三种方式
- Android中target/minSdkVersion/targetSdkVersion属性的含义
- LeetCode 13. Roman to Integer
- eclipse中使用自己写的makefile
- 快速编写“专家级”makefile(4.打造更专业的编译环境——支持头文件目录的指定)
- Activity的七大属性
- AndroidManifest.xml详解
- 密码破解与心理学
- javaWEB文件上传与下载(未测试)
- hdu 3068最长回文
- nodejs安装express遇到的坑
- JS中创建类的方法
- matlab2016的License Manager Error解决方案
- 随机算法求数组中第k大的
- Struts简单入门(未测试)