如何用make解决以下问题?

SRCS1 = a.c b,c
SRCS2 = d.c e.c
SRCS= $(SRCS1) $(SRCS2)
OBJS1 = $(subst .c,.o,$(SRCS1))
OBJS2 = $(subst .c,.o,$(SRCS2))
OBJS = $(OBJS1) $(OBJS2)
include ../Makeconf

(其中包含CPPFLAGS=-Dfoo)(主生成文件也位于../)
现在我要编译定义了SRCS1foo和未定义了SRCS2foo
我试过了
ifneq (,$(findstring $(OBJS2),$(OBJS)))
CPPFLAGS += -Ufoo
endif

但这会在编译时将-Ufoo添加到所有文件中。有什么想法吗?

最佳答案

您没有向我们展示足够的makefile来给出完整的答案,但我认为这正是您所要寻找的:

$(OBJS2): CPPFLAGS += -Ufoo

09-04 17:49