如何在makefile中将变量扩展为多个规则?

时间:2015-03-02 06:43:11

标签: makefile rule

假设我在Makefile中有两个变量

CXXFILES = a.cpp b.cpp
OBJFILES = a.o b.o

我想写一个将扩展为

的规则
a.cpp : a.o
  g++ -o a.o a.cpp
b.cpp : b.o
  g++ -o b.o b.cpp

请注意,我不是在寻找

%.o : %.cpp
  g++ -o $@ $<

因为我不想匹配所有.cpp文件 - 我只想要变量指定的那些文件。

1 个答案:

答案 0 :(得分:1)

听起来像是Static Pattern Rule

的工作
  

这是一个例子,它从中编译foo.o和bar.o中的每一个   对应的.c文件:

objects = foo.o bar.o

all: $(objects)

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