整理出来的一个Makefile模板,新增了一个内容,调用gcc生成依赖文件,这样如果某个c文件包含的头文件被更新了,该c文件以及依赖于该c文件的obj文件都会被重新编译.
这个模板是按照我习惯的项目文件组织形式进行定义的,我的习惯是头文件放在include文件夹,代码放在src文件夹,目标文件放在obj文件夹,生成的静态库放在lib文件夹,而可执行程序放在bin目录,现在新增的依赖关系文件则放在deps文件夹.

这里是使用该Makefile模板的一个项目实例.

其中main.c和hello.c都包含了头文件hello.h,而test,h只有hello.c才包含,因此在test.h被更新的时候只有hello.o会被重新编译.可以自行进行测试(如使用touch命令更新文件的时间).

这个模板的缺点也是明显的,比如不支持把源代码放在多个文件夹编译等等.不过定制makefile模板我就没有想过做个大而全的东西来,至少目前没有,只要能够满足我的需求就行了:)
转自:http://www.cppblog.com/converse/archive/2009/02/23/74716.html

项目Makefile文件模板相关推荐

  1. makefile 文件模板

    .SUFFIXES:.c .o //.c和.o建立关联 CC=gcc SRCS=hello.c\ add.c //同时编译两个.c文件 OBJS=$(SRCS:.c=.o)//ORJS=hello.o ...

  2. Makefile文件的编写

    文章目录 前言 第一个最简单的 Makefile 文件举例 第二个Makefile示例 第三个Makefile示例 第四个Makefile示例 第五个Makefile示例 总结 前言 Makefile ...

  3. Makefile文件应用——huge项目

    提高复用性 在build目录下,保存公用部分make.rule (1)绝对路径 用ROOT变量保存项目根目录 (2)增加控制变量 EXE/LIB/ (3)头文件查找目录 gcc 的-I(i的大写)选项 ...

  4. makefile指定头文件路径_玩转Makefile | 企业项目Makefile实例

    我是良许,世界500强外企 Linux 工程师,专业生产 Linux 干货,欢迎关注我的知乎「良许Linux」,欢迎点赞,收藏! 1. 前言 本教程展示了一个比较完整的企业项目级别的Makefile文 ...

  5. 根据文件模板实现预览、生成word、pdf、excel(后端-项目)

    背景 页面上有一份表单,包含基本信息和列表信息,用户填写完信息后,点击预览/导出,可以预览/导出word.pdf.excel文档. 因为代码重构过,所以看流程可能会有点绕,为方便能看懂,这里直接提供了 ...

  6. Linux系统中编译大型C语言项目必备技能之:Makefile文件的编写

    文章目录 Makefile的介绍 Makefile的编写规范--简单举例 Makefile的编写规范--复杂举例 项目描述 编译需求 编译思路 Makefile的介绍 我们在阅读一些大型的C语言项目时 ...

  7. java项目README.MD文件模板

    java项目README.MD文件模板 项目简介: 用一两句话简单描述该项目所实现的业务功能: 技术选型: 后端技术栈 springboot mybaits jwt 数据库 关系型数据库 mysql ...

  8. 构建makefile文件

    makefile文件入门 makefile文件的组成内容 makefile 文件主要有一下5种组成部分 显示规则:显示规则说明了生成一个或多个目标文件的发改发和步骤. 隐式规则:由于make工具有自动 ...

  9. VCS makefile文件

    SYNOPSYS VCS Makefile文件编写与研究 这个Makefile是synopsys提供的模板,看上去非常好用,你只要按部就班提供实际项目的参数就可以了.我们来看这个文件的头部说明:  m ...

最新文章

  1. cortex-M3与ARM7的比较
  2. 应用篇——SSL/TLS
  3. 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)
  4. 线程wait()和sleep()的区别
  5. Android wifi carlife,carlife可以无线连接吗?carlife蓝牙连接流程
  6. 基于MATLAB的数字基带通信系统仿真
  7. ubuntu dock栏添加应用启动图标
  8. crio电压采集 labview_基于cRIO远程数据采集终端
  9. 我们有个共同的名字,XX工
  10. Oracle VM VirtualBox 使用教程,说实话也就那样吧
  11. utc时间 单位换算_UTC时间和GMT时间 | 圈里圈外
  12. 前端效果 -- 实现折叠、展开动画效果
  13. ECCV 2022|计算机视觉中的长尾分布问题还值得做吗?
  14. R语言 图片识别文字 PNG JPG图片转文字 OCR tesseract包
  15. 8个免费在线编程游戏网站,让每个人都可以学习编程
  16. 计算机锁定不能强制选项无法关机,win7系统1909无法关机只能强制关机重启的解决办法...
  17. MATLAB编写黄金分割法
  18. 高校体育场地预约管理系统(Java Web毕业设计)
  19. 新东方雅思词汇(List 36 ~ List 40)
  20. google pixel 手机获取root权限

热门文章

  1. C语言 函数(做个笔记)
  2. 开源游戏机java模拟器_最棒的 7 款开源终端模拟器
  3. 华为智慧屏 鸿蒙如何,华为智慧屏V55i配置怎么样 参数介绍运行鸿蒙操作系统
  4. java thread 无法执行_哪位大神帮我讲一下这段代码,为什么线程不能继续执行
  5. SVD与PCA的区别
  6. Ubuntu16.04下安装sogou输入法
  7. 基于Struts2框架的名片管理系统
  8. keras 的 example 文件 mnist_siamese.py 解析
  9. Linux那些事儿 之 戏说USB(6)好戏开始了
  10. ios xib 四等分_ios Xib的几种用法[转]