使用$(notdir..)处理makefile中的文件列表



我想将"notdir"-函数应用于从通配符匹配中获得的文件列表。当'$(notdir$(通配符dir/*.tst))'工作时,我无法首先将列表存储在变量(下面Makefile中的'FILES')中,然后由$(notdir…)处理。直接使用变量('$(notdir$(FILES))')会返回通配符,使用值('$。

.PHONY: show
FILES := dir/*.tst
FILES2 := dir/a.tst dir/b.tst
#NAMES := $(notdir $(FILES))
NAMES1 := $(notdir $(value $(FILES)))
NAMES2 := $(notdir $(FILES2))
NAMES3 := $(notdir $(wildcard dir/*.tst))
show:
    @echo "FILES: " $(FILES)
    @echo "NAMES1: " $(NAMES1)
    @echo "NAMES2: " $(NAMES2)
    @echo "NAMES3: " $(NAMES3)

我还尝试了$(notdir$(eval$$(FILES)),但这导致了一个"缺少分隔符"的错误。

我在这里错过了什么?我本以为价值会起作用。。。

尝试以下操作:

FILES := $(wildcard dir/*.tst)
NAMES := $(notdir ${FILES})

最新更新