6 votes

Ajouter au début de la liste

J'ai un makefile qui répertorie les fichiers sources : (raccourci pour rester pertinent)

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

et je voudrais concaténer les chaînes ensemble, mais pour chacune dans SOURCES. Comme vous pouvez le voir ci-dessus, je le fais pour OBJECTS, mais je veux le faire de cette manière : (pseudocode)

foreach(src in SOURCES)
  src = concaténer(SRCFOLDER, src)

de sorte que si SOURCES était main.cpp window.cpp, le résultat serait src/main.cpp src/window.cpp.

J'ai essayé ceci :

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

mais j'obtiens cette erreur :

makefile:12: *** Variable récursive `SOURCES' se réfère finalement à elle-même. Arrêt.

11voto

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X