makefile list = ../a/a.o ../b.o aa= ../a ../ 使用patsubst 使用aa中的元素替换list 得到 a.o b.o

动态 未结 0 84
小小草
小小草 LV1 2023年9月23日 23:40 发表
可以使用以下Makefile代码来实现: ``` list = ../a/a.o ../b.o aa= ../a ../ new_list := $(patsubst $(addsuffix %,$(aa)),,$(list)) all: @echo $(new_list) ``` 解释一下上面的代码: 1. `$(addsuffix %,$(aa))` 将变量 `aa` 中的每个元素后面加上 `%`,得到 `../a% ../%`。 2. `$(patsubst $(addsuffix %,$(aa)),,$(list))` 将变量 `list` 中以 `../a` 或 `../` 开头的字符串替换为空,得到 `a.o b.o`。 3. `@echo $(new_list)` 输出新的列表。 执行 `make` 命令后,会输出 `a.o b.o`。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复