Regex 使用正则表达式生成文件依赖项

Regex 使用正则表达式生成文件依赖项,regex,makefile,dependencies,Regex,Makefile,Dependencies,我有一个RPM文件名列表(如“package-1.0”),这些文件名将是make目标的依赖项,但其中一些文件名的体系结构为x86_64,其他文件名的体系结构为i386。我该怎么做才能匹配它们?我需要像这样的东西: target: $(addsuffix .[i386|x86_64].rpm,$(shell cat packages_file)) 但那是行不通的。我可以使用: target: $(addsuffix .*.rpm,$(shell cat packages_file)) 但这与M

我有一个RPM文件名列表(如“package-1.0”),这些文件名将是make目标的依赖项,但其中一些文件名的体系结构为x86_64,其他文件名的体系结构为i386。我该怎么做才能匹配它们?我需要像这样的东西:

target: $(addsuffix .[i386|x86_64].rpm,$(shell cat packages_file))
但那是行不通的。我可以使用:

target: $(addsuffix .*.rpm,$(shell cat packages_file))
但这与Makefile中的另一个目标不匹配(package-1.0.*.rpm很少存在,它会触发另一个实际生成该文件的目标,但使用*它不起作用)

有什么建议吗

编辑:

更清楚地说:如果存在某个文件x.txt、y.txt或z.txt,我希望执行下面的目标(显示“yay!”)

target: [x|y|z].txt
    @echo yay!

Regex处理在我的愿望清单上很重要。这是一个混乱的局面:

RPM = $(wildcard x.txt y.txt z.txt)

ifeq ($(RPM),)
# What do you want to do if these files don't exist?
else
target: $(RPM)
    @echo yay! (I see $^)
endif

不清楚。你能展示你的输入和期望的输出吗。