Makefile与前缀后缀相关函数suffix、basename、addsuffix、addprefix

basename

  • 名称:取前缀函数——basename。
  • 语法:$(basename <names...>)
  • 功能:从文件名序列 <names> 中取出各个文件名的前缀部分。
  • 返回:返回文件名序列 <names> 的前缀序列,如果文件没有前缀,则返回空字串。
  • 示例:
SRC := src/main.c src/hello.c
OBJ := $(basename $(SRC)) 
all:
	@echo "$(OBJ)"

执行结果:

src/main src/hello

可以看到,将后缀.c去掉了

suffix

  • 名称:取後缀函数——suffix
  • 语法:$(suffix <names...>)
  •  功能:从文件名序列 <names> 中取出各个文件名的后缀。
  •  返回:返回文件名序列 <names> 的后缀序列,如果文件没有后缀,则返回空字串。
  • 示例:
SRC := src/main.c src/hello.c
OBJ := $(suffix $(SRC)) 
all:
	@echo "$(OBJ)"

执行结果:

.c .c

只剩下后缀.c

addsuffix

  • 名称:加后缀函数——addsuffix。
  • 语法:$(addsuffix <suffix>,<names...>)
  • 功能:把后缀 <suffix> 加到 <names> 中的每个单词后面。
  • 返回:返回加过后缀的文件名序列。
  • 示例:
SRC := src/main src/hello
OBJ := $(addsuffix ".c", $(SRC)) 
all:
	@echo "$(OBJ)

执行结果:

src/main.c src/hello.c 

在main和hello的后面加上了.c

addprefix

  •  名称:加前缀函数——addprefix。
  •  语法:$(addprefix <prefix>,<names...>)
  •  功能:把前缀 <prefix> 加到 <names> 中的每个单词后面。
  •  返回:返回加过前缀的文件名序列。
  • 示例:
SRC := src/main src/hello
OBJ := $(addprefix "pre.", $(SRC)) 
all:
	@echo "$(OBJ)"

执行结果:

pre.src/main pre.src/hello 

在前面加上了pre.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值