makefile 介绍

make命令执行时,需要一个 makefile 文件,以告诉make命令如何去编译和链接程序。

首先,我们用一个示例来说明makefile的书写规则。以便给大家一个感性认识。这个示例来源于gnu的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:

1)如果这个工程没有编译过,那么我们的所有c文件都要编译并被链接。

2)如果这个工程的某几个c文件被修改,那么我们只编译被修改的c文件,并链接目标程序。

3)如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的c文件,并链接目标程序。

只要我们的makefile写得够好,所有的这一切,我们只用一个make命令就可以完成,make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译,从而自己编译所需要的文件和链接目标程序。

最新文章

  1. android开发读书笔记
  2. [译]2016年深度学习的主要进展(译自:The Major Advancements in Deep Learning in 2016)
  3. iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用
  4. ThinkPHP 3.2.3 URL 路由的使用
  5. Swift经典知识整理
  6. POJ 1789Truck History(pirme)
  7. Oracle 中记录用户登录信息
  8. CATransition的动画效果类型及实现方法--老代码备用参考
  9. 【最大流】ECNA 2015 F Transportation Delegation (Codeforces GYM 100825)
  10. Webform中Repeater控件--绑定嵌入C#代码四种方式
  11. Broadcast发送广播
  12. 基于centos6.5安装部署mongdb3.6
  13. win10jdk环境变量配置问题:'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  14. EClipse for PHP 中文乱码问题
  15. NGINX转发代理情况下,获取客户单真实IP
  16. [UE4]增加开枪冷却时间, Get Time Seconds
  17. 第十章 优先级队列 (xa3)左式堆:插入与删除
  18. 带Alpha通道的色彩叠加问题
  19. ubuntu 终端中文显示乱码问题!
  20. EGit系列第二篇——关联远程仓库

热门文章

  1. ModelState用法
  2. Java内存管理:深入Java内存区域
  3. cocos2dx3.4 保存json文件
  4. poj 3373 Changing Digits (DFS + 记忆化剪枝+鸽巢原理思想)
  5. new 的用法
  6. new jQuery.common
  7. Ubuntu nfs 配置
  8. AfxBeginThread和AfxEndThread+内存泄露
  9. IPv6 tutorial – Part 5: Address types and global unicast addresses
  10. URI Scheme