bin  include  func  main  view  makefile  objs  主目录makefile:通过指令—C读取下面目录中makefile
./bin:             执行文件夹 执行文件名test
test./include:         头文件文件夹(包含系统头文件与自定义头文件)
func.h./func:            子函数功能
func.c  makefile./view:            界面函数
view.c makefile  ./main:            主函数
main.c  makefile./objs:            存放生成执行文件的依赖的点o文件 test:func.o main.o view.o
func.o  main.o  view.o makefile 

简单的理解就是主目录中的makefile 读取次目录下面的makefile(可以理解为函数的调用)

OBJS=func.o main.o view.o    首先先定义编译过程生成执行文件的依赖的变量
OBJS_DIR=objs                定义存放的点o文件夹
BIN_DIR=bin                  定义存放的执行文件夹
BIN=test                     定义执行文件的名称              CFLAGS=-I ../include -c -g -Wall              定义gcc编译的命令选项并且指定头文件的读取目录此处注意一定是上级目录中的include,因为编译是 在次目录编译的(在包含点c文件的文件夹下编译的)     DIRS=func main view objs                      定义所有包含makefile文件的文件夹-C读取是按照顺序来的,所有objs目录放在最后面objs里面的点o文件是最后执行并且生成执行文件的export OBJS OBJS_DIR BIN BIN_DIR CFLAGS DIRS  定义为全局变量(共享变量,如果不指定变量则默认共享全部变量)all:CHECK_DIR $(DIRS)        神奇的all目标(执行make 与make all效果一样)
CHECK_DIR:mkdir -p $(BIN_DIR)      创建执行文件夹bin
$(DIRS):ECHOmake -C $@               依次读取DIRS中得makefile文件
ECHO:@echo $(DIRS).PHONY:clean                 删除文件并且忽略伪文件
clean:@rm -rf $(OBJS_DIR)/*.o  删除objs下面的所有点o文件@rm -rf $(BIN_DIR)       删除创建的bin执行目录(包括里面的执行文件)

初学makefile相关推荐

  1. Makefile经典教程(掌握这些足够)

    http://blog.csdn.net/ruglcc/article/details/7814546 拉轰的专栏 少壮不努力 老大徒伤悲 目录视图 摘要视图 订阅 新版极客头条上线,每天一大波干货  ...

  2. Makefile新手?千万别错过了《驾驭Makefile》

    网上搜索makefile教程,转载和推荐最多的就是陈皓<跟我一起写 Makefile>系列,无出其右. 这个系列很不错,适合初学Makefile,了解Makefile的各种规则.语法.依赖 ...

  3. 使用Makefile链接so库文件

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 初学Ma ...

  4. makefile中.PHONY的作用是什么?

    makefile中.PHONY的作用是什么?   初学makefile的时候,有一个关键字".PHONY"搞不懂,在请教过同学之后豁然开朗,遂写下经验望帮助更多的同学能够理解. 在 ...

  5. 写一下自已对ctf的了解,以便日后自已需要

    11.7 本人ctf小白,参加比赛基本处于摸鱼状态,也没有系统了解过ctf以及做过相关的实践和练习,但是,对这一块比较感兴趣,所以,只能说,在学习中,就跟我当初学makefile一样,做下记录,写点自 ...

  6. Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)

    一.目录篇: 1.文件处理命令:cp 英文原意:copy 语法:cp -rp[源文件或目录][目的目录] 源文件可以同时是多个,即同时复制到多个文件 -r 复制目录 -p保留文件属性,比如文件创建时间 ...

  7. 初学C语言,你的“行囊”需要准备什么呢?

    关注.星标公众号,直达精彩内容 今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信息,不论是一段程序,一封e ...

  8. 如何自己编写Makefile

    相信很多朋友都有过这样的经历,看着开源项目中好几页的makefile文件,不知所云.在日常学习和工作中,也有意无意的去回避makefile,能改就不写,能用ide就用ide.其实makefile并没有 ...

  9. Makefile原理

    [写在前面]今天写计算机系统原理实验日志的时候,找了一下makefile的原理,发现这篇文章还不错,就转来,码着,随时看. 由于他也是转载的,但是我看了一下转载的网站已经不见了,所以说这里直接贴那个博 ...

最新文章

  1. ubuntu下oracle数据的导入,导入oracle数据库命令行
  2. OpenMP入门教程(二)reduce sum
  3. 我的VIM配置及说明【K-VIM】
  4. 设计模式--解析器(Interpreter)模式
  5. 计算机第二章题库,全国计算机二级题库第二章
  6. 前端JavaScripts基础知识点轮播图
  7. 我的世界手动选择java_如何选中路径-我的世界怎么选择java路?我的世界怎么选择java路径 爱问知识人...
  8. windbg 常用命令~*
  9. zookeper安装_ZooKeeper的安装与部署
  10. 408数据结构:1.顺序表的定义
  11. 腾讯:我火了,新浪:你没有!
  12. 【LeetCode】162-寻找峰值
  13. 会安装oracle数据库吗,搭建安装oracle数据库
  14. 常用国家标准、行业标准、地方标准免费查阅网址,太实用了!
  15. Android实现USB扫码枪获取扫描二维码
  16. sicily 9562 SUME
  17. 百度地图 雷达/地理编码 功能使用
  18. 媒体对华为不公,国人应该清醒 [转]枯荷雨声
  19. 分支语句(if,switch)
  20. 百度竞价点击器_【竞价推广100问】怎样提高百度竞价推广的点击率以及咨询量?...

热门文章

  1. 国家开放大学2021春2405现代汉语(1)题目
  2. JAVA对excle创建、读取、设置单元格颜色、背景色、跨行跨列
  3. Redis命令:scan实现模糊查询
  4. 阿里云天池机器学习task3
  5. Ubuntu 18.04缺少libstdc++.so.6共享库解决方案
  6. “网络侦探”基础教程
  7. Java培训机构哪个好?该怎么选择
  8. 战神引擎传奇开服教程开服版本 开服服务器推荐战神引擎开服
  9. 合肥辰工科技有限公司
  10. 央视名嘴转播欧洲冠军杯