我试图让以下过滤器语句正常工作,但事实并非如此。 exportedLibaries包含执行文件的文件的相对路径(即export/*/*/*/filename
)
dev := $(filter HelloWorld%, $(exportedLibraries))
我为我的单元测试使用了类似的过滤器,它运行得非常好(相对路径相同):
unitTests := $(filter %_Test, $(exportedUnitTests))
然而这有效......
dev := $(filter $(wildcard export/**/**/**/HelloWorld*), $(exportedLibraries))
我做错了什么?
答案 0 :(得分:2)
$(notdir)就是你想要的:
exportedLibraries := export/foo/helloworld.lib export/bar/HelloWorld.lib export/baz/HelloWorldTwo.lib
dev := $(foreach lib,$(exportedLibraries),$(if $(filter HelloWorld%,$(notdir $(lib))),$(lib)))
$(info $(dev))
你可以$(strip)
$(foreach)
的结果来消除结果中的剩余空格。