如何将某些编译器标志与仅某些目标相关联

时间:2012-12-05 22:49:52

标签: makefile

我想仅为某些make目标定义一些宏。例如

all : process1 process2

prcoess1: process1.c process.h

prcoess2: process2.c process.h

%.o:%.c
        $(CC) $(CCOPTS) -o $@ $<


CCOPTS += -DEXTRA1 
extra1 : clean all


CCOPTS += -DEXTRA2
extra2 : clean all

我希望只有在调用make extra1时才能定义宏EXTRA1。如果我拨打make我不想要定义EXTRA1。我该如何做到这一点?

1 个答案:

答案 0 :(得分:2)

extra1 : CCOPTS += -DEXTRA1 
extra1 : clean all

extra2 : CCOPTS += -DEXTRA2
extra2 : clean all

请参阅GNU make手册中的§6.11 Target-specific Variable Values