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

波浪号(“~”)字符在文件名中也有比较特殊的用途。如果是“~/test”,这就表示当前用户的$HOME目录下的test目录。而 “~hchen/test”则表示用户hchen的宿主目录下的test目录。(这些都是Unix下的小知识了,make也支持)而在Windows或是 MS-DOS下,用户没有宿主目录,那么波浪号所指的目录则根据环境变量“HOME”而定。

通配符代替了你一系列的文件,如“*.c”表示所有后缀为c的文件。一个需要我们注意的是,如果我们的文件名中有通配符,如:“*”,那么可以用转义字符“\”,如“\*”来表示真实的“*”字符,而不是任意长度的字符串。

make有几个常用的特殊通配符:

$@:所有目标的文件

$^:所有依赖文件

$<:第一个依赖文件

$?:所有更新过的依赖文件

举例:创建makefile,输入

test:*.o
    gcc -o $@ $^

*.o:*.c
    gcc -c $^

makefile之通配符(4)相关推荐

  1. makefile使用--命令(三)

    一.Make的概念 Make这个词,英语的意思是"制作".Make命令直接用了这个意思,就是要做出某个文件.比如,要做出文件a.txt,就可以执行下面的命令. $ make a.t ...

  2. Makefile中的patsubst函数

    $(patsubst 原模式, 目标模式, 文件列表) 如: 在$(patsubst %.c,%.o,$(dir) )中,patsubst把$(dir)中的变量符合后缀是.c的全部替换成.o $(pa ...

  3. Makefile中的变量

    Makefile中的变量 2007-11-03 12:03 Makefile中变量有以下几个特征: 1. Makefile中变量和函数的展开(除规则命令行中的变量和函数以外),是在make读取make ...

  4. Makefile札记

    Makefile中:= ?= += =的区别 在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验 新建一个Makefile,内容为: i ...

  5. make命令及makefile

    make命令及makefile 转自:https://www.ruanyifeng.com/blog/2015/02/make.html Make 命令教程 作者: 阮一峰 日期: 2015年2月20 ...

  6. makefile:带你了解一种常用于GNU gcc编译的工具语言

    摘要:该文章主要介绍makefile,一种常用语GNU gcc编译的工具语言,同时LiteOS也是利用该文件对工程项目进行make构建生成执行文件的. LiteOS源码中使用makefile进行文件的 ...

  7. Makefile 入门教程

    1.Makefile简介 Makefile 定义了软件开发过程中,项目工程编译链.链接的方法和规则. 由 IDE 自动生成或者开发者手动书写. Unix(MAC OS.Solaris)和Linux(R ...

  8. Makefile与shell脚本区别

    在Makefile可以调用shell脚本,但是Makefile和shell脚本是不同的.本文试着归纳一下Makefile和shell脚本的不同. 1. shell中所有引用以$打头的变量其后要加{}, ...

  9. 【Bash百宝箱】Makefile快速入门

    一.读懂Makefile 1.Makefile简介 简单来说,Makefile就是帮助我们编译工程(文件)并生成可执行文件(目标文件).现在的IDE以及一些自动化编译工具基本上都做了Makefile的 ...

最新文章

  1. Leetcode(20210419-20210425 第二周 每日一题)
  2. Python入门100题 | 第075题
  3. git仓库的简单使用
  4. boost::geometry::svg用法的测试程序
  5. 如何快速查找下载java项目所需jar包
  6. 北京活动预告丨来ACOUG 年会过个温暖的冬天吧!
  7. C语言求一个数的平方根倒数的近似值-一战封神的代码
  8. Spring Boot RestTemplate 忽略证书访问https
  9. 50个经典jquery实例_【电气知识】从原理图到程序的4个经典实例详解
  10. RHEL 5 rpm包安装bind
  11. 知识图谱组队学习Task03——图数据库导入数据
  12. php ruby 优缺点,php,python,ruby,perl的优缺点?
  13. 迷宫最短路径-货郎担问题的解决思路
  14. c# 数组不能直接=,需要clone
  15. shl归纳推理测试题库_SHL(外企笔试常见试题)全攻略
  16. UTM坐标与wgs84坐标转换关系
  17. 《产品经理认证(NPDP)知识体系指南》
  18. 系统设计基础 负载均衡
  19. 编写程序判断变量X的值 是偶数还是奇数,偶数buf为1,奇数buf为0
  20. S3DIS Dataset下载

热门文章

  1. 软件设计师习题笔记-重点习题三
  2. Qt工作笔记-Qt文档笔记-QPainter::drawText写文本并且居中
  3. C/C++如何连接MySQL服务器以及简单加密
  4. matlab数学建模可应用到第几章,《MATLAB在数学建模中的应用(第2版)》
  5. 和渠道商成为真朋友,CDEC大会做对了什么?
  6. 西安电子科技大学833真题_【2019更新版】西安电子科技大学计算机软件考研信息汇总...
  7. android使用perfetto工具步骤
  8. (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第六、七节:视图
  9. 理解Linux下的SELinux(MAC)
  10. Python 字符串、时间、日期、时间戳的相互转换(时间戳转换)