什么是通配符???
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。

当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。 实际上用“*Not?pad”可以对应Notepad\MyNotepad【*可以代表任何字符串;?仅代表单个字符串,但此单字必须存在】;Notep[ao]d可以对应Notepad\Notepod【ao代表a与o里二选一】,其余以此类推。

通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。

“?”:
可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。
要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.doc、loveh.doc。

“*”:

可以使用星号代替零个、单个或多个字符。

如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。

要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。

目标文件:依赖文件
(tab)命令

.o文件:.c文件 .h文件
(tab)命令

递归调用makefile,从底层调用到顶层,这个不理解???

一直对工作流程不熟悉,这个很重要。
Makefile的工作流程
没有指定输出项目时,Makefile会先在所有目标中找到第一个没有通配符的目标进行构造;
例如本文中的all,即时它是个伪目标
根据构造all的规则,需要构造(BUILD),而(BUILD),而(BUILD),而(BUILD)即是(BUILDDIR)下无后缀的可执行文件于是要构造的目标就变为了(BUILD_DIR)下无后缀的可执行文件 于是要构造的目标就变为了(BUILDD​IR)下无后缀的可执行文件于是要构造的目标就变为了(OBJ_DIR)/%.o,然后make在规则中继续寻找,找到了一个匹配的规则$(BUILD_DIR)/%: $(OBJ_DIR)/%.o,但不幸的是该规则依赖OBJS := (SRCS:(SRCS:(SRCS:(SRC_DIR)/%.c=(OBJDIR)/下面又找到了(OBJ_DIR)/%.o),于是继续寻找 下面又找到了(OBJD​IR)/下面又找到了(OBJ_DIR)/%.o: (SRCDIR)/完成后回到上层进行对.o文件的链接,然后继续回到上层,重复这个过程使得对于每一个(SRC_DIR)/%.c,现在不需要继续寻找了,即执行这个规则下的语句进行编译但不链接 完成后回到上层进行对.o文件的链接,然后继续回到上层,重复这个过程使得对于每一个(SRCD​IR)/完成后回到上层进行对.o文件的链接,然后继续回到上层,重复这个过程使得对于每一个(BUILD)中的目标都得到了生成。

linux查看目录树形结构tree命令相关

安装tree命令。

#yum -y install tree

查看是否安装成功。

#yum list installed tree

直接执行tree命令看看。

#tree
如果当前目录下众多内容,直接tree命令会很惨。

执行命令:

#tree -L 1

只查看当前目录下内容

makefile通配符相关推荐

  1. 在WinAVR中设置Makefile自动编译多个源文件

    初次使用WinAVR,了解到需要通过Makefile文件来设定程序编译时的一些值,发现当一个工程中加入多个源文件时不能同时编译,网上查了一下,需要修改Makefile文件: # List C sour ...

  2. 嵌入式杂谈之makefile补充

    我看了下自己的文章库存,好像还没有一篇关于Makefile的文章,所以这篇刚好可以弥补自己的缺失. makefile预定义变量 预定义变量即系统自带的变量 预定义变量 作用 AR 库文件维护程序的名称 ...

  3. arm-linux-gcc 和Makefile

    Makefile文件编写 all:arm-linux-gcc -c -o led_on.o led_on.sarm-linux-ld -Ttext 0 led_on.o -o led_on.elf / ...

  4. Linux C语言高级学习第八天(gcc代码优化makefile)

    多个.c文件的混合编译 1.gcc C语言编译器 gcc xxx.c -o xxx -o :指定生成产物的名称 免费.开源.速度快(快30%).占用内存小.gcc代码优化 gcc支持对代码进行三级优化 ...

  5. linux编程GCC、gdb、Makefile、make、

    文章目录 GCC gcc编译过程 gcc编译多文件 gdb 动态库和静态库 创建静态库 使用静态库 动态库 动态库的创建 动态库的使用 静态库和动态库的区别 make make是什么 1 make命令 ...

  6. Makefile学习之通配符和自动变量

    规则中的通配符 "*" ,"?" ," [...]", " % " , " wildcard " 1 ...

  7. makefile之通配符(4)

    如果我们想定义一系列比较类似的文件,我们很自然地就想起使用通配符.make支持三个通配符:"*","?"和"~".这是和Unix的B-She ...

  8. Makefile中patsubst(扩展通配符)的含义

    patsubst 是 Makefile 里的一个函数 语法 #查找text中的单词,如果匹配pattern,那么就用replacement的内容替换 #返回:函数返回被替换过后的字符串. #$(pat ...

  9. 对makefile中,变量定义中 通配符的理解

    见如下例子: LIB=*.oall: $(LIB)@echo $^$(LIB):@echo $@ 执行结果: *.o *.o 所以 转载于:https://www.cnblogs.com/gaojia ...

  10. 浅显易懂 Makefile 入门 (09)— include 文件包含、MAKECMDGOALS

    1. include文件包含 当 make 读取到 include 关键字的时候,会暂停读取当前的 Makefile,而是去读 include 包含的文件,读取结束后再继读取当前的 Makefile ...

最新文章

  1. 在数据库创建表的时候,时间设置为什么类型,会随着每次提交的时间发生变化
  2. fabric 简单理解
  3. DLL基础——Windows核心编程学习手札之十九
  4. 复现原文(二):Single-cell RNA sequencing of human
  5. Windows内存管理(3)--检查内存可用性,结构化异常处理 和 ASSERT
  6. PostgreSQL的常见参数和技巧
  7. linuxpython源文件_Python3 源码安装(Linux 版)
  8. .net 编译工具_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
  9. 10分钟也不一定学会的灵敏度分析
  10. Oracle PL / SQL – INSTEAD OF触发器示例
  11. 弘辽科技:淘宝评分飘绿四大原因及快速提高评分之解决技巧
  12. laravel5.5 Validator 自定义错误提示语
  13. 【Python 常用英文单词】——总结Python常用的英文单词 最全版
  14. VScode中crtl+鼠标左键无法跳转
  15. 在外包干了几年,感觉自己都快费了
  16. php网页无痕预览,javascript,html5_如何应对用户使用无痕浏览模式,javascript,html5 - phpStudy...
  17. 道通科技自动化测试面试
  18. 递归解决年龄问题---c语言实现
  19. Chap.19 总结《CL: An Introduction》 (Vyvyan Evans)
  20. N76E003开发笔记(关于使用N76E003过程遇到的问题)

热门文章

  1. html实现视频录制,保存和回放
  2. 用树莓派搭建全功能NAS服务器(02):Docker用法下载机配置
  3. Linux学习笔记——~/.bash_profile文件
  4. 白帽黑客必备的网络安全基础问答
  5. android 自动打开第三方应用商店,Android应用自动跳转到应用市场详情页面的方法...
  6. 四个技巧教你解决电磁干扰问题
  7. FFplay文档解读-4-编解码器选项一
  8. 关于《未来软件是什么样子?》一文的讨论(2)
  9. python系列之:字典update
  10. 读书感受 之 《心理学入门》