在Makefile中传播特定于目标的变量

时间:2014-05-30 16:53:14

标签: makefile

我试图编写一个包含先决条件中使用的目标特定变量的makefile,如下所示

SOURCES = a.c b.c

.SECONDEXPANSION:

%.o: %.c
    @echo gcc -o $@ $<

1: SOURCES += main_1.c
1: obj

2: SOURCES += main_2.c
2: obj

obj: OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
obj: build

build: $$(OBJECTS)
    @echo gcc -o exe $(OBJECTS)

当然,我的代码$(SOURCES)a.c b.c$$(OBJECTS)为空...如果我写$$(SOURCES),我会收到错误No rule to make target $(SOURCES) 。 有没有办法让这项工作?或者我必须定义变量以在1和2之间切换? (例如make -D1#ifdef

0 个答案:

没有答案