假设我有两个源目录:
我为srcdir0
和srcdir1
S0SRCS := $(wildcard $(srcdir0)/*.c)
S1SRCS := $(wildcard $(srcdir1)/*.c)
我尝试创建一个具有基本srcdir0
文件但被srcdir1
同名文件替换的最终列表。换句话说,srcdir1
文件优先。
我认为filter
或filter-out
函数可能是我的朋友,但我没有足够的经验来更好地了解。
答案 0 :(得分:3)
我认为从S1
的名称中过滤出S0
目录中的名称就足够了:
S0NAMES := $(notdir $(S0SRCS))
S1NAMES := $(notdir $(S1SRCS))
FINAL-LIST := $(addprefix $(srcdir0)/,$(filter-out $(S1NAMES),$(S0NAMES))) $(S1SRCS)
请先测试一下,我没有机会这样做,并把它写在我的头顶。