什么是makefile? 如何编写makefile?


Posted in 面试题 onAugust 08, 2012
makefile:一个文本形式的文件,其中包含一些规则告诉make编译哪些文件以及怎样编译这些文件,每条规则包含以下内容:
一个target,即最终创建的东西
一个和多个dependencies列表,通常是编译目标文件所需要的其他文件
需要执行的一系列commands,用于从指定的相关文件创建目标文件
make执行时按顺序查找名为GNUmakefile,makefile或者Makefile文件,通常,大多数人常用Makefile
Makefile规则:
target: dependency dependency [..] command command [..]
注意:command前面必须是制表符
例子:
editor: editor.o screen.o keyboard.o
gcc -o editor editor.o screen.o keyboard.o
editor.o : editor.c editor.h keyboard.h screen.h
gcc -c editor.c
screen.o: screen.c screen.h
gcc -c screen.c
keyboard.o : keyboard.c keyboard.h
gcc -c keyboard.c
clean:
rm editor *.o

Tags in this post...

面试题 相关文章推荐
Java和Javasciprt的区别
Sep 02 面试题
String这个类型的class为何定义成final?
Nov 13 面试题
得到Class的三个过程是什么
Aug 10 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
如何打开WebSphere远程debug
Oct 10 面试题
C有"按引用传递"吗
Sep 06 面试题
如何理解委托
Jan 06 面试题
华三通信H3C面试题
May 15 面试题
Linux管理员面试题 Linux admin interview questions
Jul 08 面试题
Linux如何命名文件--使用文件名时应注意
Jan 22 面试题
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
Apr 07 面试题
95%的面试官都会问到的50道Java线程题,附答案
Aug 03 面试题
介绍一下grep命令的使用
Jun 28 #面试题
Linux中如何用命令创建目录
Dec 02 #面试题
Linux不知道文件后缀名怎么判断文件类型
Apr 26 #面试题
Linux管理员面试题 Linux admin interview questions
Nov 01 #面试题
shell程序中如何注释
Feb 17 #面试题
Linux Interview Questions For software testers
Jun 02 #面试题
Linux的文件类型
Mar 07 #面试题
You might like
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
在vue中使用G2图表的示例代码
2019/03/19 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
Python中return函数返回值实例用法
2020/11/19 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
金融学专业大学生职业生涯规划
2014/03/07 职场文书
目标责任书范文
2014/04/14 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
新娘婚礼致辞
2015/07/27 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS
MySQL数据库 任意ip连接方法
2022/05/20 MySQL