附加到列表的开头

时间:2012-07-17 01:59:49

标签: makefile gnu-make

我有一个列出源文件的makefile :(缩写为相关的)

SRCFOLDER=src/
SOURCES= main.cpp
OBJECTS=$(SOURCES:.cpp=.o)

我希望将字符串连接在一起,但SOURCES中的每一个字符串。正如你在上面看到的,我是为OBJECTS做的,但我想这样做:(伪代码)

foreach(src in SOURCES)
  src = concate(SRCFOLDER, src)

因此如果SOURCESmain.cpp window.cpp,则结果为src/main.cpp src/window.cpp

我试过了:

SOURCES=$(SOURCES:*=$(SRCFOLDER)/*)

但是我收到了这个错误:

makefile:12: *** Recursive variable `SOURCES' references itself (eventually). Stop.

1 个答案:

答案 0 :(得分:11)

SRCFOLDER := src
SOURCES := main.cpp window.cpp
SOURCES := $(addprefix $(SRCFOLDER)/, $(SOURCES))