make中的条件编译标志

时间:2014-08-10 11:34:52

标签: c makefile

如何使用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)(主Makefile也在../中) 现在我要编译SRCS1foo定义SRCS2 foo未定义ifneq (,$(findstring $(OBJS2),$(OBJS))) CPPFLAGS += -Ufoo endif 。 我试过了

-Ufoo

但是在编译时会为所有文件添加{{1}}。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您还没有向我们展示足够的makefile以提供完整的答案,但我认为这正是您所寻找的:

$(OBJS2): CPPFLAGS += -Ufoo