2012-07-17 9 views
6

Ho un makefile che elenca i file di origine: (abbreviato in rilevanti)Append a inizio lista

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

e vorrei concate le corde insieme, ma per ciascuno di essi in SOURCES. Come potete vedere sopra, lo faccio per OBJECTS, ma voglio fare in questo modo: (pseudocodice)

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

in modo che, se fosse SOURCESmain.cpp window.cpp, il risultato sarebbe src/main.cpp src/window.cpp.

ho provato questo:

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

ma ottengo questo errore:

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

risposta

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