makefile list = ../a/a.o ../b.o aa= ../a ../ 使用patsubst 使用aa中的元素替换list 输出QQ执行结果 中文回答

动态 未结 0 75
小小草
小小草 LV1 2023年9月23日 23:40 发表
首先,我们需要使用patsubst函数将list中的../a替换为../a/a.o,将../b.o保持不变。makefile代码如下: list = ../a/a.o ../b.o aa= ../a ../ new_list = $(patsubst ../a,%/a.o,$(filter-out $(aa),$(list))) $(filter $(aa),$(list)) .PHONY: QQ QQ: @echo $(new_list) 在这个makefile中,我们定义了一个新的变量new_list来存储替换后的结果。使用patsubst函数,我们将../a替换为%/a.o,其中%表示任意字符。我们还使用filter-out函数过滤掉aa中的元素,再使用filter函数选择出aa中的元素,最终将它们拼接起来得到new_list。 当我们执行make QQ命令时,输出结果为: ../a/a.o ../b.o 这说明我们成功地将../a替换为../a/a.o,并保留了../b.o。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复