wildcard linux

Linux Command—— Wildcard m 阅读详情
 

1、wildcard : 扩展通配符
2、notdir : 去除路径
3、patsubst :替换通配符

例子:
建立一个测试目录,在测试目录下建立一个名为sub的子目录
$ mkdir test
$ cd test
$ mkdir sub

在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和sb.c2 个文件

建立一个简单的Makefile
src=$(wildcard *.c ./sub/*.c)
dir=$(notdir $(src))
obj=$(patsubst %.c,%.o,$(dir) )

all:
 @echo $(src)
 @echo $(dir)
 @echo $(obj)
 @echo "end"
 
执行结果分析:
第一行输出:
a.c b.c ./sub/sa.c ./sub/sb.c

wildcard把 指定目录 ./ 和 ./sub/ 下的所有后缀是c的文件全部展开。

第二行输出:
a.c b.c sa.c sb.c
notdir把展开的文件去除掉路径信息

第三行输出:
a.o b.o sa.o sb.o

在$(patsubst %.c,%.o,$(dir) )中,patsubst把$(dir)中的变量符合后缀是.c的全部替换成.o,
任何输出。
或者可以使用
obj=$(dir:%.c=%.o)
效果也是一样的。

这里用到makefile里的替换引用规则,即用您指定的变量替换另一个变量。
它的标准格式是
$(var:a=b) 或 ${var:a=b}
它的含义是把变量var中的每一个值结尾用b替换掉a

今天在研究makefile时在网上看到一篇文章,介绍了使用函数wildcard得到指定目录下所有的C语言源程序文件名的方法,这下好了,不用手工一个一个指定需要编译的.c文件了,方法如下:

SRC = $(wildcard *.c)

等于指定编译当前目录下所有.c文件,如果还有子目录,比如子目录为inc,则再增加一个wildcard函数,象这样:

SRC = $(wildcard *.c) $(wildcard inc/*.c)

也可以指定汇编源程序:
ASRC = $(wildcard *.S)

这样一来,makefile模板可修改的基本就是AVR名称和时钟频率了,其它的一般不用动了
【makefile函数】makefile 常用函数汇总 阅读详情

相关推荐

Makefile实现混合编译不同目录下不同的.c .cc .cpp文件,并以不同的编译方式编译

Makefile实现编译不同目录下不同的.c .cc .cpp文件 需求 要求一个makefile可编译不同目录下的所有.c .cc .cpp文件,根据build.sh传入的不同参数来实现编译不同目录 文件结构如下 Makefile dir1下有main.c func.c build.sh dir2下有main.c func.cc build.sh dir3下有main.c func.cpp bu...

sjc2870的博客 1814

linux 通配符(wildcard)

linux 通配符(wildcard)_bdss58的博客-优快云博客_linux wildcard

shizhong2006的专栏 862

用Verilog搭出RISC-V架构单周期CPU

这是笔者学校暑期学期的必修课,难度并不高(仅追求及格的话),但相当耗时,对于在硬件设计方面完全不感冒的同学更是一场避不开的折磨,所以笔者想通过自己的成果和被折磨经验来帮助有此方面需求的同学,或是对于CPU设计有浓厚兴趣的人。

paticita的博客 1万+

Linux命令学习-wildcard

前言 今天在makefile里看到了wildcard关键字,不知其含义,查了一下有所认识,特记录于此。 场景回顾 test: # check function ifneq ($(wildcard apps/function1/result/*_bad.output),) @echo "Function test failed!" @exit 1 else @echo "Funct...

初心者小屋 4093

保姆级教程:用QSTEM和DrProbe搞定你的第一张STEM模拟图(附Fe3O4实例文件)

本文提供了一份详细的STEM模拟图像生成教程,涵盖从晶体结构获取到最终图像模拟的全过程。通过QSTEM和DrProbe软件的操作指南,帮助材料科学研究者快速掌握STEM模拟技术,特别适合初学者。教程包含Fe3O4实例文件,详细解析参数设置、计算优化和结果分析等关键步骤。

weixin_33730836的博客 523

华为硬件工程师笔试题

1、基尔霍夫定理的内容是什么?(仕兰微电子)   基尔霍夫定理包括电流定律和电压定律。   电流定律(KCL):在集总电路中,任何时刻,对任一结点,所有流出结点的支路电流的代数和恒等于零。   电压定律(KVL):在集总电路中,任何时刻,沿任一回路,所有支路电压的代数和恒等于零。   2、平板电容公式(C=εS/4πkd)。(未知)   3、最基本的如三极管曲线特性。(未知)   4、描述反馈电路...

weixin_33717117的博客 2万+

Linux wildcard

Linux中的通配符: 需要注意的是正则表达式与通配符完全是两个东西。wildcard代表的是bash操作接口的一个功能,而正则表达式是一种字符串处理的方法。 例如,'?',在通配符中表示一个字符,在RE中表示0或1个字符。 1 ls -d ????? # 匹配有5个字符的文件(夹),-d的作用是不显示文件夹下的文件 '*',在通配符中表示0或多个字符,在RE中通常以组合形态...

weixin_30512089的博客 533

OPC UA 服务端的模拟工具及客户端工具

详细介绍如何使用 Prosys OPC UA Simulation Server 作为 OPC UA 服务端的模拟工具来生成数据模型,并使用 Softing OPC UA Client 作为客户端工具,直观地查看和验证模拟生成的数据。

weixin_44462773的博客 9857

linux_makefile文件编写,基本规则、工作原理、模式规则,wildcard函数、patsubst函数

makefile文件命名规则,基本规则,make根据文件修改的时间来进行对比的,源文件生成的时间

qq_44177918的博客 1504

一文搞定离线环境下的RAG引擎部署

在人工智能浪潮下,技术已成为构建智能问答、文档分析和代码助手等应用的核心。然而,在许多企业场景中,出于数据安全和性能的考虑,服务器往往部署在中,并要求极致的推理效率。这给依赖外部资源的应用部署带来了巨大挑战。如何在这种严苛的环境下,完整、可靠地部署一套包含向量数据库、**高性能推理服务(vLLM)**和Python后台的复杂RAG系统呢?本文将为你提供一个,手把手教你如何使用 Docker 技术,将一套基于 Weaviate 和的 Python RAG 应用完整打包,并在离线环境中一键部署。

木鱼时刻的专栏 1241

用 SAML 2.0 Bearer Assertion 配置 ABAP OAuth 2.0 令牌交换

摘要: SAP系统集成中,身份跨系统传递是关键挑战。OAuth 2.0的SAML 2.0 Bearer Assertion grant机制通过SAML断言换取访问令牌,实现安全身份传递。配置核心在ABAP的SOAUTH2事务码,需绑定可信SAML身份提供商(IdP)并指定访问范围。实际应用中,需确保SSL加密传输,正确配置SAML IdP信任关系,并为OAuth客户端分配专用系统用户。常见问题包括证书不匹配、权限配置不当等,需分层控制权限边界以保障安全。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 835

Linux之Makefile(wildcard)

使用函数“wildcard” ,它的用 法是:$(wildcard PATTERN...) 。在 Makefile 中,它被展开为已经存在的、使用空格 分开的、匹配此模式的所有文件列表。如果不存在任何符合此模式的文件,函数会忽略 模式字符并返回空。需要注意的是:这种情况下规则中通配符的展开和上一小节匹配通 配符的区别。  一般我们可以使用“$(wildcard *.c)”来获取工作目录下

嵌入式Linux开发 1290

通过分子模板构建随机分布在溶液中的纳米颗粒(一)

通过分子模板构建随机分布在溶液中的纳米颗粒 要实现的目标: 1、可以循环建立多个水分子溶液的模型; 2、针对不同水分子数,自动创建文件夹; 3、运行完毕将所有结果自动存储在对应文件夹里; 分子模板的具体教程请见我的博客: https://blog.youkuaiyun.com/qq_43689832/article/details/104443175 1、首先,我们先建立纳米颗粒的分子模板,命名为p_30.txt: 包括两种原子类型。具体格式如下: # LAMMPS molecule file makin.

Rockyoung 2650

一、linux shell通配符(wildcard)

一、linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里(它不用在 命令名称里, 也不用在 操作符上)。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展)

追求梦想 8892

【DaVinci Developer工具实战】03 -导入xml文件

本文档描述了 DaVinci Developer 导入数据的的具体功能 ,它适用于导入AUTOSAR SWC 模板【AUTOSAR XML 文件】 文件。

1991

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux-Makefile(makefile 中的 wildcard 与 patsubst 函数)

makefile 里的函数跟它的变量很相似——使用的时候,你用一个 $ 符号跟开括号,函数名,空格后跟一列由逗号分隔的参数,最后 用关括号结束。例如,在 GNU Make 里有一个叫 'wildcard' 的函 数,它有一个参数,功能是展开成一列所有符合由其参数描述的文 件名,文件间以空格间隔。你可以像下面所示使用这个命令:          SOURCES = $(wildcard

MEIC51的专栏 3629

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Makefile的2个常用函数wildcard和patsubst

1. wildcard 2. patsubst

qinghehe198508的博客 178

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux的通配符(wildcard)和bash下的特殊符号

转载于:http://blog.youkuaiyun.com/fang_chuan/article/details/53074933    在 bash  操作环境中有一个非常有用的功能,那就是通配符 (wildcard) !有了wildcard利用 bash 处理数据就方便了!底下我们列出一些常用的通配符:          符号                            

憨憨松的博客 1351

Linux Shell/Bash wildcard通配符、元字符、转义符使用

说到shell通配符(wildcard),大家在使用时候会经常用到。下面是一个实例: 1 1 2 3 4 [chengmo@localhost ~/shell]$ ls a.txt b.txt c.old #2 ...

dianfu2892的博客 377

linux find目录通配符,Linux find命令与通配符(wildcard)常见错误

本文长度500多字,阅读大概需要2分钟。在Linux平台下find是常用命令,并且经常是配合通配符(wildcard)一起使用,毕竟我们只能记住某个文件一部分;我们需要寻找当前目录下所有的sh文件,随手敲一条命令:find . -name *.sh,目测逻辑完美,可以运行,只实际上这条命令在执行时有些许问题。find使用中的错误手边有环境的话,可以执行下会发现,结果是这样:这种错误很奇怪,如果没看...

weixin_42502382的博客 1418

Makefile里的wildcard 理解

wildcard描述一个通配对象。 应用场景一: 如:src = $(wildcard /src/*.c) 表示遍历src目录下的所有.c文件 应用场景二: ifneq ($(wildcard …/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin),) CROSS_COMPILE ?= $(shell pwd)/…/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9

weixin_42493016的博客 1726

LINUX学习之初识Makefile(二)

LINUX学习之初识Makefile(二) Makefile函数 函数用法:$(函数名 参数集合) 常用函数 subst——字符串替换函数 $(subst <from>,<to>,<text>) 实现:此函数的功能是将字符串text中的from内容替换为to,函数返回被替换以后的字符串 例如:$(subst ABC,abc,my name is ABC) ,把字符串my name is ABC中的ABC替换为abc,函数返回my name is abc。 p

原上风的博客 160
上一篇: CAsyncSocket使用总结
下一篇: 批量编译目录下文件的Makefile
flymachine
博客等级 码龄23年 253粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值