Makefile的编写
makefile介绍
makefile的功能是管理源文件的编译链接,在makefile我们可以定义一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。具体可以参考:
http://blog.csdn.net/ruglcc/article/details/7814546/
http://www.cnblogs.com/liangxiaxu/archive/2012/07/31/2617384.html
makefile规则
target1: prerequisites1,prerequisites2,...
command1
target2: prerequisites1,prerequisites2,...
command2
...
target: 一个目标文件,可以是Object File,也可以是执行文件。
prerequisites: 要生成那个target所需要的文件或是目标。
command: 也就是make需要执行的命令,可以是任意的shell命令
makefile举例
一、这里以一个简单的C程序作为例子,在一个文件夹下有下列的文件:
1、make.exe
这是一个可以执行makefile的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。
2、main.c
#include<stdio.h>
int main(){
printf("Hello World!\n");
}
3、makefile
test: main.o
gcc -o test main.o
main.o:main.c
gcc -c -o main.o main.c
clean:
del test.exe main.o
二、我们在此目录下打开shell窗口,输入“make“,enter,就可看见make已经在进行编译,在此文件目录下多了:
1、main.o
2、test.exe
其实在编译时,make是根据makefile文件进行编译的。首先要编译test,而又找不到main.o,于是就会先编译main.o。编译main.o时先找到编译所需的main.c,然后再执行"gcc -c -o main.o main.c"语句生成main.o,此时test所需的文件已生成了,于是执行"gcc -o test main.o"生成test.exe。
我们也可以在shell中输入”make clean“在执行clean,此时的test.exe 和main.o 就会被删除。
//End
最新文章
- [译]MVC网站教程(一):多语言网站框架
- [.net 面向对象程序设计深入](0) 开篇
- 使用python selenium webdriver模拟浏览器
- mysql之各种命令总结
- css3制作惊艳hover切换效果
- ArcGIS快捷键导出
- andriod 带看括弧的计算器
- Python标准库之Sys模块使用详解
- Yii2查询语句使用不等于号
- artDialog的几种基本使用
- go之匿名字段
- C/C++数据对齐汇总
- 老李推荐:第2章3节《MonkeyRunner源码剖析》了解你的测试对象: NotePad窗口Activity之NoteEditor简介
- 使用CSharp编写Google Protobuf插件
- angularjs 水平滚动选中按钮高亮显示 swiper和回到顶部指令的实现ionic
- 【Node.js】二、基于Express框架 + 连接MongoDB + 写后端接口
- day 7-6 GIL,死锁,递归锁与信号量,Event,queue,
- 【推荐】使用Ultrapico Expresso学习正则表达式
- day1 diff命令递归比较目录下的文件
- python实现用户登陆(sqlite数据库存储用户信息)