1. wildcard:扩展通配符

2. notdir:去除路径

3. patsubst:替换通配符

若有一个makefile如下:

src=$(wildcard *.c ./sub/*.c)

dir=$(notdir $(src))

obj=$(patsubst %.c, %.o, $(dir)) 将$(dir)中的所有以.c结尾的替换成以.o结尾,或者使用obj=$(dir:%.c=%.o)

标准格式为:

$(var:a=b)或${var:a=b}  将变量中的每一个值结尾用b替换掉a

all:

  @echo $(src)

  @echo $(dir)

  @echo $(obj)

输出为:

a.c b.c ./sub/sa.c ./sub/sb.c

a.c b.c sa.c sb.c

a.o b.o sa.o sb.o

 

相关文章:

  • 2021-12-14
  • 2021-06-28
  • 2021-12-20
  • 2022-12-23
  • 2021-09-30
  • 2021-05-30
  • 2022-12-23
  • 2021-11-02
猜你喜欢
  • 2021-12-29
  • 2022-01-23
  • 2022-12-23
  • 2022-02-10
  • 2021-06-05
相关资源
相似解决方案