0

makefile有这一行:

OBJS = Test.o Test1.o Test2.o Test3.o ...

有没有办法通过匹配模式使其自动化?

4

2 回答 2

0

如果您正在使用gmake- 您可以使用 shell 命令 ls 源文件,然后使用patsubst命令将源文件列表转换为目标文件列表。

SRC=$(shell ls *.cc)
OBJS=$(patsubst %.cc,%.o, $(SRC))

all:
     @echo $(OBJS)
于 2013-05-28T20:03:30.050 回答
0

我怀疑你所要求的是你真正想要的,但这里有:

NUMS := 1 2 3 4 5

OBJS := Test.o $(patsubst %,Test%.o,$(NUMS))

(有一种方法可以在1 2 3 4 5不拼写的情况下生成类似的序列,但它真的很难看,不值得努力。)

于 2013-05-29T16:15:26.870 回答